1 二进制变量的表示,支持将整数类型用二进制来表示,用0b开头
byte aByte = (byte) 0b00100001;
2 数字类型的下划线表示 更友好的表示方式,不过要注意下划线添加的一些标准。 不能开头或结尾
3 Switch语句支持String类型。
4 Try-with-resource语句: 多个try
try (
java.util.zip.ZipFile zf =
new java.util.zip.ZipFile(zipFileName);
java.io.BufferedWriter writer =
java.nio.file.Files.newBufferedWriter(outputFilePath, charset)
) {
// Enumerate each entry
for (java.util.Enumeration entries =
zf.entries(); entries.hasMoreElements();) {
// Get the entry name and write it to the output file
String newLine = System.getProperty("line.separator");
String zipEntryName =
((java.util.zip.ZipEntry)entries.nextElement()).getName() +
newLine;
writer.write(zipEntryName, 0, zipEntryName.length());
}
}
BufferedWriter和ZipFile对象的close方法都会自动按声明的相反顺序调用。
try (Statement stmt = con.createStatement()) {
5 多个catch
catch(IOException | SQLException | Exception ex){
jdk8
1 接口的默认和静态方法:
Java 8允许我们给接口添加一个非抽象的方法实现
public interface JDK8Interface {
// static修饰符定义静态方法
static void staticMethod() {
System.out.println("接口中的静态方法");
}
2 Lambda 表达式:(例如: (x, y) -> { return x + y; } ;λ
public int add(int x, int y) {
return x + y;
}
变为 (int x, int y) -> x + y;
c -> { return c.size(); }
3 方法与构造函数引用::
通过Person::new创建一个指向Person构造函数的引用。 请注意构造方法没有参数
静态方法:User::collide
类实例User::repair
4 支持多重注解
5 日期函数和 Base64
提供了新的java.time包,可以用来替代
java.util.Date和java.util.Calendar。一般会用到Clock、LocaleDate、LocalTime、LocaleDateTime、ZonedDateTime、
6 CurrentHashMap做了升级--重要
jdk7 jdk8 变化
原创
©著作权归作者所有:来自51CTO博客作者mb636514f3a19f5的原创作品,请联系作者获取转载授权,否则将追究法律责任

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
JDK7 和JDK8的ArrayList的区别对比
ArrayList在jdk7和jdk8中的区别源码对比
java 初始化 ArrayList -
详解 JDK7 和 JDK8 中接口(Interface)区别
接口不同版本的区别
JDK7 JDK8 interface -
JDK7与JDK8中HashMap的实现
1、JDK7中的HashMapHashMap底层维护一个数组,数组中的每一项都是一
hashmap 链表 数组 红黑树 -
ubuntu配置jdk7
详细内容参考附件文档
jdk7 ubuntu