zoukankan      html  css  js  c++  java
  • java 11 局部变量类型推断

    什么是局部变量类型推断?

    var javastack = "javastack";
    
    System.out.println(javastack);
    

    大家看出来了,局部变量类型推断就是左边的类型直接使用 var 定义,而不用写具体的类型,编译器能根据右边的表达式自动推断类型,如上面的 String 。

    var javastack = "javastack";

    就等于:

    String javastack = "javastack";

    在声明隐式类型的lambda表达式的形参时允许使用var

    使用var的好处是在使用lambda表达式时给参数加上注解

    (@Deprecated var x, @Nullable var y) -> x.process(y);
    

    var 语法 : 局部变量的类型推断.
    注意点 :
    ​ 1) var a; 这样不可以, 因为无法推断.
    ​ 2) 类的属性的数据类型不可以使用var.

    有参数的lambda表达式使用
    函数式接口 :
    ​ Consumer : 消费型函数式接口.
    ​ public void accept(T t);

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

    错误的形式: 必须要有类型, 可以加上var

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

    正确的形式:

    Consumer<String> consumer = (@Deprecated var t) -> System.out.println(t.toUpperCase());
    
  • 相关阅读:
    JZ5 替换空格
    数学分析 H 1 复习要点(部分)
    算法贪心
    Python之位运算
    sorted复杂排序cmp_to_key
    算法位运算
    Python3新特性总结 持续更新
    算法树
    H5 ios端微信浏览器下底部工具固定方法
    Eclipse 安装windows10环境
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/10349256.html
Copyright © 2011-2022 走看看