jdk11新特性——局部变量类型推断(var ”关键字”)
创始人
2024-03-17 20:36:27
0

目录

    • 一、什么是局部变量类型推断
    • 二、局部变量类型推断(var ”关键字”)
      • 2.1、根据右边的表达式自动推断类型
      • 2.2、var并不是关键字
      • 2.3、var声明变量和String声明变量作用相同
    • 三、var 语法:局部变量类型推断(注意事项)
      • 3.1、不能直接声明var a; 这样不可以, 因为无法推断
      • 3.2、类的属性的数据类型不可以使用var
    • 四、var 语法:有参数的lambda表达式使用
      • 4.1、消费型函数式接口
      • 4.2、lambda表达式使用var变量
      • 4.3、给lambda表达式变量标注注解用var变量

一、什么是局部变量类型推断

  • 因jdk11新增jshell交互工具,lz使用jshell进行示例演示,进入jdk11的bin目录并进入dos命令行窗口,进入jshell,如下图:
    在这里插入图片描述
  • 局部变量类型推断,根据左边类型推荐右边类型,如下图所示:
    在这里插入图片描述

二、局部变量类型推断(var ”关键字”)

2.1、根据右边的表达式自动推断类型

  • 局部变量类型推断(var ”关键字”)就是左边的类型直接使用 var 定义,而不用写具体的类型,编译器能根据右边的表达式自动推断类型,如下图中所示
    在这里插入图片描述

2.2、var并不是关键字

  • 由标题var关键字中带有引号,因此var并不是关键字,如下图所示:
    在这里插入图片描述

2.3、var声明变量和String声明变量作用相同

  • var a ="hello"和String a ="hello"作用相同,如下图所示:
    在这里插入图片描述

三、var 语法:局部变量类型推断(注意事项)

3.1、不能直接声明var a; 这样不可以, 因为无法推断

  • 不能直接声明var a;这样不可以,因为无法推断。如下图所示:
    在这里插入图片描述

3.2、类的属性的数据类型不可以使用var

  • 类的属性的数据类型不可以使用var,如下图所示:
    在这里插入图片描述

四、var 语法:有参数的lambda表达式使用

4.1、消费型函数式接口

  • 函数式接口 : 消费型函数式接口

    Consumer: 消费型函数式接口
    public void accept(T t);
    

4.2、lambda表达式使用var变量

  • 允许lambda表达式使用var变量,如下图所示:如果仅仅是这样写,倒是无法看出写var有什么优势并且反而觉得有点多此一举。

    Consumer consumer = t -> System.out.println(t.toUpperCase());
    Consumer consumer = (var t) -> System.out.println(t.toUpperCase());
    

    在这里插入图片描述

4.3、给lambda表达式变量标注注解用var变量

  • 如果要给lambda表达式变量标注注解的话,那么这个时候var的作用就突显出来了,如下图所示:

    Consumer consumer = (@Deprecated t) -> System.out.println(t.toUpperCase());
    Consumer consumer = (@Deprecated var t) -> System.out.println(t.toUpperCase());
    

    在这里插入图片描述

相关内容

热门资讯

原创 中... 12月25日,家纺企业富安娜披露了关于中信证券固定收益类理财产品逾期兑付的进展公告。公告显示,公司近...
封关临近!海南自贸港政策红利释... 交易所数据显示,2025年12月26日09时47分,京粮控股当前价格为8.92元,涨幅为9.99%,...
字节跳动通报:120名员工被辞... 12月25日,字节跳动披露2025年三季度内部违规案例的处理情况。通报显示,三季度共有120名员工因...
上亿理财难收回,家纺龙头富安娜... 12月25日晚,家纺龙头企业深圳市富安娜家居用品股份有限公司(以下简称富安娜,002327.SZ)发...
华院计算取得法律要素图谱辅助类... 国家知识产权局信息显示,华院计算技术(上海)股份有限公司取得一项名为“一种法律要素图谱辅助类案推荐方...
严重违背人伦底线,犯罪手段特别... 据“遵义审判”消息,2025年12月26日,贵州省遵义市中级人民法院依法对被告人刘仲杰故意杀人案进行...
原创 死... 死刑判决能否抚平受害者家属的创伤?法律与心理的双重拷问 当一纸死刑判决书尘埃落定,法庭外的受害者家属...
贵州工会“一函两书”典型案例⑩... 编者按:“一函两书”制度,是工会组织开展劳动法律监督,联合检察院、法院、人社等部门提醒用人单位落实好...
建元信托4.98亿诉讼纠纷再起... 今年以来,建元信托遭遇11起诉讼案件,包括2起大额诉讼。 文/每日财报 楚风 建元信托的诉讼风险仍...
【学政策·人事人才篇】取得哪些... 来源:人力资源和社会保障部微信公众号