局部变量的类型推断
var ”关键字” 实际上并不是关键字
java7中的类型推断:
List list = new ArrayList<>();
通过从左边的类型推断等式右侧的类型;
java11中的局部类型推断:
var a = “abc”;
String a = “abc”;
上面两行代码实际上并没有本质的差别,只是从形式上简化了编码;当我们创建的对象名很复杂时,可以省去重复写对象名,如:
var a = new ArrayList();
var实际上并不是一个关键字,他只是一种语法
不能用var直接声明对象,如:var a;
这样的操作是不被允许的
var 语法:局部变量的类型推断
注意事项:
```plain text 1)var a; 这样不可以,因为无法推断
2)类的属性的数据类型不可以使用var
1
2
3
4
5
6
7
有参数的lambda表达式使用:
函数式接口:
```plain text
Consumer<T> : 消费型函数式接口
1
public void accept(T t);Consumer<Strring> consumer = t -> System.out.println(t.toUpperCase());consumer.accept("gjaikjnOIH");Consumer<Strring> consumer = (var t) -> System.out.println(t.toUpperCase());consumer.accept("gjaikjnOIH");Consumer<Strring> consumer = (@Nonnull var t) -> System.out.println(t.toUpperCase());consumer.accept("gjaikjnOIH");
本文由作者按照 CC BY 4.0 进行授权