【java基础】java10,java11 的新特性!!!

JAVA作为使用的主力语言,掌握下其历史发展也是有必要的。看看从JAVA5开始到现在的JAVA11有哪些变化。借此机会,也可以看看哪些特性我们是已经用到的,哪些是还没有用到的。

 

如果有程序猿小伙伴们在工作和学习过程中,遇到一些磕磕碰碰的问题,难以解决,这些问题可能会困扰你许久,但是懂得人一下就解决了,为此我特意建了一个java学习群,快来加入我们吧:925050116,里面有大量优质视频资料免费领取喔,让你少走弯路,互相学习交流,一起进步,不负年华!!!
 

1.java10

2018年3月20日,Java 10 正式发布,这一次没有跳票。它号称有109项新特性,包含12个JEP。需要注意的是,本次Java10并不是Oracle的官方LTS版本,还是坐等java11的发布再考虑在生产中使用

特性列表

  • 局部变量的类型推断 var关键字
  • GC改进和内存管理 并行全垃圾回收器 G1
  • 垃圾回收器接口
  • 线程-局部变量管控
  • 合并 JDK 多个代码仓库到一个单独的储存库中
  • 新增API:ByteArrayOutputStream
  • 新增API:List、Map、Set
  • 新增API:java.util.Properties
  • 新增API: Collectors收集器
  • 其它特性

1、局部变量的类型推断 var关键字

这个新功能将为Java增加一些语法糖 - 简化它并改善开发者体验。新的语法将减少与编写Java相关的冗长度,同时保持对静态类型安全性的承诺。

这可能是Java10给开发者带来的最大的一个新特性。下面主要看例子:

public static void main(String[] args) {
 var list = new ArrayList<String>();
 list.add("hello,world!");
 System.out.println(list);
 }

这是最平常的使用。注意赋值语句右边,最好写上泛型类型,否则会有如下情况:

public static void main(String[] args) {
 var list = new ArrayList<>();
 list.add("hello,world!");
 list.add(1);
 list.add(1.01);
 System.out.println(list);
 }

list什么都可以装,非常的不安全了。和js等语言不同的是,毕竟Java还是强类型的语言,所以下面语句是编译报错的:

public static void main(String[] args) {
 var list = new ArrayList<String>();
 list.add("hello,world!");
 System.out.println(list);
 list = new ArrayList<Integer>(); //编译报错
 }

注意:下面几点使用限制

局部变量初始化

for循环内部索引变量

传统的for循环声明变量

public static void main(String[] args) {
 //局部变量初始化
 var list = new ArrayList<String>();
 //for循环内部索引变量
 for (var s : list) {
 System.out.println(s);
 }
 //传统的for循环声明变量
 for (var i = 0; i < list.size(); i++) {
 System.out.println(i);
 }
 }

下面这几种情况,都是不能使用var的

方法参数全局变量

public static var list = new ArrayList<String>(); //编译报错

public static List<String> li

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值