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/
分享到:
相关推荐
知识点7:使用线程来定时刷新检测文件变化情况 通过使用线程,可以定时刷新检测文件变化情况。例如,可以使用ScheduledExecutorService来执行定时任务,检测文件变化情况。 知识点8:引入commons-io包 为了使用...
在Java 7的源代码中,我们可以深入理解这些变化,并学习如何利用它们来编写更高效、更简洁的代码。 1. **多路归并I/O(NIO.2)** Java 7引入了新的NIO(New IO)框架,也被称为NIO.2。它提供了一种更方便、更面向...
在Java编程中,监测文件变化是一项重要的功能,特别是在开发日志系统、自动化构建工具或实时数据处理应用时。本文将详细讲解如何使用Java实现文件变化的监控,并通过一个具体的示例来阐述相关知识点。 首先,Java中...
Java 7对Collections Framework进行了升级,其中最显著的变化之一是引入了`TransferQueue`接口。这一接口扩展了`BlockingQueue`接口的功能,为线程之间的通信提供了更灵活的选择。此外,`LinkedTransferQueue`类实现...
sudo apt-get install oracle-java7-installer ``` 在安装过程中,系统可能会要求你接受Oracle的许可协议,以及安装一些必要的依赖。按照提示进行操作,通常会选择“确定”和“是”。 完成安装后,Oracle JDK 7会被...
- Java 7引入了`java.nio.file.FileSystemObserver`接口,可以监听文件系统的变化,如文件创建、删除、移动等事件。 6. **路径操作**: - `getParent()`和`getName()`方法用于获取路径的父路径和最后一个元素。 ...
Java 7和Java 8是Java编程语言的重要版本,它们引入了多项新特性和改进,极大地提升了开发效率和代码质量。这两个版本的API中文文档对于Java开发者来说是必不可少的学习和参考资源。 Java 7(也称为Java SE 7或Java...
Java 7的关键新特性包括: 1. **多路复用I/O(NIO.2)**:引入了新的`java.nio.file`包,提供了更丰富的文件操作API,支持文件路径操作、文件系统查询、文件观察服务等。 2. **try-with-resources语句**:这是对...
### Java 7 新特性详解 #### 一、二进制字面值(Binary Literals) Java 7 引入了一项非常实用的新特性——**二进制字面值**。这使得开发者可以直接使用二进制形式表示整型常量,提高了代码的可读性和直观性。 ####...
自1999年以来,JVM规范经历了多次更新,而在2011年发布的JavaSE7版则带来了新的变化。 《Java虚拟机规范(JavaSE7版)》为想要了解Java虚拟机原理的程序员提供了必须的参考资料。它不仅仅是一份文档,更是为了确保...
Java的最新技术通常包括语言新特性的引入、框架的更新、开发工具的改进以及最佳实践的变化。例如,Java 17是当前的长期支持版本,它引入了增强的开关表达式、密封类等新特性,提升了语言的表达能力和安全性。 描述...
JDK 1.7,也被称为Java 7,是继Java 6之后的一个重大更新,它引入了许多新特性,旨在提高开发人员的效率和代码的可读性。其中最显著的变化包括: 1. **Strings in Switch语句**:在Java 7中,字符串可以被用作...
使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...
- **内容概要**:介绍了 Java EE 7 的新特性和改进之处,以及这些特性如何帮助开发者更高效地开发企业应用。 ##### 第2章:上下文与依赖注入 - **关键技术**:CDI 规范,包括 Bean 的管理、依赖注入等。 - **应用...
《Java JDK 7学习笔记》针对Java SE 7新功能全面改版,无论是章节架构或范例程序代码,都做了全面重新编写与翻新。 《Java JDK 7学习笔记》是作者多年来教学实践的经验总结,汇集了学员在教学过程中遇到的概念、...
在Java 8(JRE 1.8)中,最显著的变化之一是Lambda表达式的引入,这是一种简洁的匿名函数表示法,极大地简化了处理函数式接口和集合的操作。此外,还新增了方法引用和构造器引用,这些功能让代码更加简洁,提高了...
### Java虚拟机规范(Java SE 7)关键知识点解析 #### 一、概述 《Java虚拟机规范(Java SE 7版)》是一份详细介绍了Java虚拟机(JVM)架构和运行机制的重要文档。这份规范不仅是Java开发人员深入了解Java语言特性的...