我看到有报告说现在Java 8用的比较多,比JDK 7要多。大家平时用Java 8吗?是像Java 7一样的用?还是用了哪些新的特性吗?
业精于勤,荒于嬉;行成于思,毁于随。
参考资料:http://www.importnew.com/1190...http://www.importnew.com/1036...
以下是本人常用的java8新特性(按使用频率排序)1、lamda表达式;2、Streams;3、方法引用;4、接口的默认与静态方法;
以上,1、2是神器不解释,不过初时由于不习惯会觉得有点别扭,后来习惯之后写代码飞一般的感觉(不过使用不当的话还是可以写出一坨shit(这是人的问题,任何语言都无法避免),而且某些场景下可读性可能不比传统写法好)。熟练使用3的话,以前有些要使用反射才能实现的也可以通过方法引用去实现,建议熟悉Function, Consumer, Predicate, Supplier。4算是给接口增强吧,用得也不算很多。
Function, Consumer, Predicate, Supplier
其他较少用到,值得一提的是Date/Time API,试用了一下,的确比旧版的API好用和方便,感觉跟Joda time很相似了。奈何新版API的对象跟原有的Date、Time对象之间的转换却十分麻烦,加上公司一早就使用上了Joda Time,所以也就没怎么用新版的Date/Time API了。
Date/Time API
Joda time
Date、Time
Joda Time
公司用1.7,自己玩的时候用1.8
要不是有 Java 8 都懒得用 Java 了。
以下是本人常用的java8新特性(按使用频率排序)
1、lamda表达式;
2、Streams;
3、方法引用;
4、接口的默认与静态方法;
以上,1、2是神器不解释,不过初时由于不习惯会觉得有点别扭,后来习惯之后写代码飞一般的感觉(不过使用不当的话还是可以写出一坨shit(这是人的问题,任何语言都无法避免),而且某些场景下可读性可能不比传统写法好)。
熟练使用3的话,以前有些要使用反射才能实现的也可以通过方法引用去实现,建议熟悉
Function, Consumer, Predicate, Supplier
。4算是给接口增强吧,用得也不算很多。
其他较少用到,值得一提的是
Date/Time API
,试用了一下,的确比旧版的API好用和方便,感觉跟Joda time
很相似了。奈何新版API的对象跟原有的Date、Time
对象之间的转换却十分麻烦,加上公司一早就使用上了Joda Time
,所以也就没怎么用新版的Date/Time API
了。公司用1.7,自己玩的时候用1.8
要不是有 Java 8 都懒得用 Java 了。