浅析java 10中的var关键字用法

 更新时间:2018年10月12日 09:19:48   作者:飞宸  
2018年3月20日,Oracle发布java10。java10为java带来了很多新特性。这篇文章主要介绍了Java 10 var关键字详解和示例教程,需要的朋友可以参考下

2018年3月20日,Oracle发布java10。java10为java带来了很多新特性,其中让人眼前一亮的便是var关键字的引入。

what

•java10引入了局部变量折断 var用于声明局部变量。

如var user=new ArrayList<User>();

why

•避免了信息冗余
•对齐了变量名
•更容易阅读

how

•java10之前的变量声明:

URL codefx = new URL("http://codefx.org")
URLConnection connection = codefx.openConnection();
Reader reader = new BufferedReader(
new InputStreamReader(connection.getInputStream()));

•java10

var codefx = new URL("http://codefx.org");
var connection = codefx.openConnection();
var reader = new BufferedReader(
new InputStreamReader(connection.getInputStream()));

•在处理 var时,编译器先是查看表达式右边部分,也就是所谓的构造器,并将它作为变量的类型,然后将该类型写入字节码当中。

attention

•只能用于带有构造器的局部变量,以下场景不适用 

var foo; foo = "Foo";
var ints = {0, 1, 2};
var appendSpace = a -> a + " ";
private var getFoo(){}

•除了局部变量,for循环是唯一可以使用 var的地方:

var numbers = List.of("a", "b", "c");
for (var nr : numbers)
System.out.print(nr + " ");
for (var i = 0; i < numbers.size(); i++)
System.out.print(numbers.get(i) + " ");

总结

以上所述是小编给大家介绍的java 10中的var关键字用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 基于jdk动态代理和cglib动态代理实现及区别说明

    基于jdk动态代理和cglib动态代理实现及区别说明

    这篇文章主要介绍了基于jdk动态代理和cglib动态代理实现及区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • IDEA报java: java.lang.OutOfMemoryError: Java heap space错误解决办法

    IDEA报java: java.lang.OutOfMemoryError: Java heap space错误

    这篇文章主要给大家介绍了关于IDEA报java: java.lang.OutOfMemoryError: Java heap space错误的解决办法,文中将解决的办法介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Spring MVC基于注解的使用之JSON数据处理的方法

    Spring MVC基于注解的使用之JSON数据处理的方法

    这篇文章主要介绍了Spring MVC基于注解的使用JSON数据处理,json是一种轻量级的数据交换格式,是一种理想的数据交互语言,它易于阅读和编写,同时也易于机器解析和生成,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • Java比较对象大小两种常用方法

    Java比较对象大小两种常用方法

    这篇文章主要介绍了Java比较对象大小两种常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • SpringAOP实现登录验证的操作代码

    SpringAOP实现登录验证的操作代码

    这篇文章主要介绍了SpringAOP实现登录验证功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • IDEA中Translation使用及问题解决

    IDEA中Translation使用及问题解决

    本文主要介绍了IDEA中Translation使用及问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 我用java实现了王者荣耀的皮肤和英雄技能

    我用java实现了王者荣耀的皮肤和英雄技能

    上篇文章主要实现了创建英雄,创建野怪,创建装备.并且实现了简单的刷怪,购买装备等.本篇文章我优化了我的操作界面,并且实现了英雄技能,英雄皮肤等,需要的朋友可以参考下
    2021-05-05
  • Java 实战范例之员工管理系统的实现

    Java 实战范例之员工管理系统的实现

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+vue+Springboot+ssm+mysql+maven+redis实现一个前后端分离的员工管理系统,大家可以在过程中查缺补漏,提升水平
    2021-11-11
  • Java多线程中的CyclicBarrier使用方法详解

    Java多线程中的CyclicBarrier使用方法详解

    这篇文章主要介绍了Java多线程中的CyclicBarrier使用方法详解,CyclicBarrier是一种同步辅助工具,它允许一组线程都等待对方到达公共障碍点,在涉及固定大小的线程的程序中,CyclicBarriers非常有用,这些线程间必须相互等待,需要的朋友可以参考下
    2023-12-12
  • Java 顺序表专题解读

    Java 顺序表专题解读

    顺序表,全名顺序存储结构,是线性表的一种。线性表用于存储逻辑关系为“一对一”的数据,顺序表自然也不例外,不仅如此,顺序表对数据物理存储结构也有要求。顺序表存储数据时,会提前申请一整块足够大小的物理空间,然后将数据依次存储起来,存储时数据元素间不留缝隙
    2021-11-11

最新评论