`
yangzisai
  • 浏览: 87591 次
  • 性别: Icon_minigender_1
  • 来自: 东莞
社区版块
存档分类
最新评论

Java7 新变化

阅读更多
1.对collections的支持



Java代码
List<String> list = new ArrayList<String>();  
list.add("item");  
String item = list.get(0);  
 
Set<String> set = new HashSet<String>();  
set.add("item");  
 
Map<String, Integer> map = new HashMap<String, Integer>();  
map.put("key", 1);  
int value = map.get("key"); 

List<String> list = new ArrayList<String>();
list.add("item");
String item = list.get(0);

Set<String> set = new HashSet<String>();
set.add("item");

Map<String, Integer> map = new HashMap<String, Integer>();
map.put("key", 1);
int value = map.get("key"); 现在你还可以:



Java代码
List<String> list = ["item"];  
String item = list[0];  
 
Set<String> set = {"item"};  
 
Map<String, Integer> map = {"key" : 1};  
int value = map["key"]; 

List<String> list = ["item"];
String item = list[0];

Set<String> set = {"item"};

Map<String, Integer> map = {"key" : 1};
int value = map["key"];
 



2.自动资源管理



Java代码
BufferedReader br = new BufferedReader(new FileReader(path));  
try {  
   return br.readLine();  
} finally {  
   br.close();  


BufferedReader br = new BufferedReader(new FileReader(path));
try {
   return br.readLine();
} finally {
   br.close();
}
becomes:



Java代码
try (BufferedReader br = new BufferedReader(new FileReader(path)) {  
   return br.readLine();  
}  
 
You can declare more than one resource to close:  
 
try (  
   InputStream in = new FileInputStream(src);  
   OutputStream out = new FileOutputStream(dest))  
{  
// code  


try (BufferedReader br = new BufferedReader(new FileReader(path)) {
   return br.readLine();
}

You can declare more than one resource to close:

try (
   InputStream in = new FileInputStream(src);
   OutputStream out = new FileOutputStream(dest))
{
// code
}

3.对通用实例创建(diamond)的type引用进行了改进





Java代码
Map<String, List<String>> anagrams = new HashMap<String, List<String>>(); 

Map<String, List<String>> anagrams = new HashMap<String, List<String>>();

becomes:



Java代码
Map<String, List<String>> anagrams = new HashMap<>(); 

Map<String, List<String>> anagrams = new HashMap<>();4.数值可加下划线



Java代码
int one_million = 1_000_000; 

int one_million = 1_000_000;  

5.在switch中可使用string



Java代码
String s = ...  
switch(s) {  
case "quux":  
    processQuux(s);  
    // fall-through  
 
  case "foo":  
  case "bar":  
    processFooOrBar(s);  
    break;  
 
  case "baz":  
     processBaz(s);  
    // fall-through  
 
  default:  
    processDefault(s);  
    break;  


String s = ...
switch(s) {
case "quux":
    processQuux(s);
    // fall-through

  case "foo":
  case "bar":
    processFooOrBar(s);
    break;

  case "baz":
     processBaz(s);
    // fall-through

  default:
    processDefault(s);
    break;
}
 

6.二进制文字



Java代码
int binary = 0b1001_1001; 

int binary = 0b1001_1001;  

7.简化了可变参数方法的调用



当程序员试图使用一个不可具体化的可变参数并调用一个*varargs* (可变)方法时,编辑器会生成一个“非安全操作”的警告。详情查看





查看原文:http://code.joejag.com/2009/new-language-features-in-java-7/
分享到:
评论

相关推荐

    Java实现实时监控目录下文件变化的方法

    知识点7:使用线程来定时刷新检测文件变化情况 通过使用线程,可以定时刷新检测文件变化情况。例如,可以使用ScheduledExecutorService来执行定时任务,检测文件变化情况。 知识点8:引入commons-io包 为了使用...

    Java7源代码

    在Java 7的源代码中,我们可以深入理解这些变化,并学习如何利用它们来编写更高效、更简洁的代码。 1. **多路归并I/O(NIO.2)** Java 7引入了新的NIO(New IO)框架,也被称为NIO.2。它提供了一种更方便、更面向...

    java监测文件变化

    在Java编程中,监测文件变化是一项重要的功能,特别是在开发日志系统、自动化构建工具或实时数据处理应用时。本文将详细讲解如何使用Java实现文件变化的监控,并通过一个具体的示例来阐述相关知识点。 首先,Java中...

    Java7新特性中文介绍

    Java 7对Collections Framework进行了升级,其中最显著的变化之一是引入了`TransferQueue`接口。这一接口扩展了`BlockingQueue`接口的功能,为线程之间的通信提供了更灵活的选择。此外,`LinkedTransferQueue`类实现...

    Ubuntu系统下搭建Java7开发环境

    sudo apt-get install oracle-java7-installer ``` 在安装过程中,系统可能会要求你接受Oracle的许可协议,以及安装一些必要的依赖。按照提示进行操作,通常会选择“确定”和“是”。 完成安装后,Oracle JDK 7会被...

    Java 7文件操作

    - Java 7引入了`java.nio.file.FileSystemObserver`接口,可以监听文件系统的变化,如文件创建、删除、移动等事件。 6. **路径操作**: - `getParent()`和`getName()`方法用于获取路径的父路径和最后一个元素。 ...

    java7和java8 api中文文档

    Java 7和Java 8是Java编程语言的重要版本,它们引入了多项新特性和改进,极大地提升了开发效率和代码质量。这两个版本的API中文文档对于Java开发者来说是必不可少的学习和参考资源。 Java 7(也称为Java SE 7或Java...

    java7源码包含sun

    Java 7的关键新特性包括: 1. **多路复用I/O(NIO.2)**:引入了新的`java.nio.file`包,提供了更丰富的文件操作API,支持文件路径操作、文件系统查询、文件观察服务等。 2. **try-with-resources语句**:这是对...

    Java7 新特性

    ### Java 7 新特性详解 #### 一、二进制字面值(Binary Literals) Java 7 引入了一项非常实用的新特性——**二进制字面值**。这使得开发者可以直接使用二进制形式表示整型常量,提高了代码的可读性和直观性。 ####...

    Java虚拟机规范 JavaSE7

    自1999年以来,JVM规范经历了多次更新,而在2011年发布的JavaSE7版则带来了新的变化。 《Java虚拟机规范(JavaSE7版)》为想要了解Java虚拟机原理的程序员提供了必须的参考资料。它不仅仅是一份文档,更是为了确保...

    Java最新技术下载

    Java的最新技术通常包括语言新特性的引入、框架的更新、开发工具的改进以及最佳实践的变化。例如,Java 17是当前的长期支持版本,它引入了增强的开关表达式、密封类等新特性,提升了语言的表达能力和安全性。 描述...

    java-jdk1.7-jdk-7u80-windows-x64.zip

    JDK 1.7,也被称为Java 7,是继Java 6之后的一个重大更新,它引入了许多新特性,旨在提高开发人员的效率和代码的可读性。其中最显著的变化包括: 1. **Strings in Switch语句**:在Java 7中,字符串可以被用作...

    java源码包---java 源码 大量 实例

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

    Beginning Java EE 7.pdf

    - **内容概要**:介绍了 Java EE 7 的新特性和改进之处,以及这些特性如何帮助开发者更高效地开发企业应用。 ##### 第2章:上下文与依赖注入 - **关键技术**:CDI 规范,包括 Bean 的管理、依赖注入等。 - **应用...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

     《Java JDK 7学习笔记》针对Java SE 7新功能全面改版,无论是章节架构或范例程序代码,都做了全面重新编写与翻新。  《Java JDK 7学习笔记》是作者多年来教学实践的经验总结,汇集了学员在教学过程中遇到的概念、...

    java jre 1.8 java运行环境

    在Java 8(JRE 1.8)中,最显著的变化之一是Lambda表达式的引入,这是一种简洁的匿名函数表示法,极大地简化了处理函数式接口和集合的操作。此外,还新增了方法引用和构造器引用,这些功能让代码更加简洁,提高了...

    Java虚拟机规范(Java_SE_7).pdf

    ### Java虚拟机规范(Java SE 7)关键知识点解析 #### 一、概述 《Java虚拟机规范(Java SE 7版)》是一份详细介绍了Java虚拟机(JVM)架构和运行机制的重要文档。这份规范不仅是Java开发人员深入了解Java语言特性的...

Global site tag (gtag.js) - Google Analytics