Java中var的使用方法

前言

var是JDK10之后推出的语法糖,用它来定义局部变量,并且var可以进行局部变量类型推断

var 使用

例如用var定义一个int变量

 

typescript

代码解读

复制代码

public class VarDemo { public static void main(String[] args) { var a = 1; a = a + 1; System.out.println(a); } }

输出结果为

image.png

这里var能推断出a为int类型 如使用List

 

csharp

代码解读

复制代码

public class Var1Demo { public static void main(String[] args) { var list = new ArrayList<Integer>(); list.add(1); list.add(2); System.out.println(list); } }

但这种要注意的是,必须在new ArrayList()指定类型,直接使用

 

ini

代码解读

复制代码

var list = new ArrayList<>();

会被推断为Object类型

jdk11升级

JDK11对var做了调整,允许var关键字用于Lambda函数里面的参数类型声明,如

 

csharp

代码解读

复制代码

public class Var1Demo { public static void main(String[] args) { var result = Stream.of("aa", "bb", "cc").reduce((var x, var y) -> x + y); System.out.println(result.orElseThrow()); var list = Stream.of("aa", "bb", "cc").collect(Collectors.toList()); System.out.println(list); } }

var使用要注意的点

1、var不能定义变量

 

typescript

代码解读

复制代码

public class Var2Demo { public static void main(String[] args) { var a ; } }

这种会报错

2、var只能在方法内定义变量,不允许定义类的成员变量

 

kotlin

代码解读

复制代码

public class Var2Demo { private var a; }

这种也是不允许的

3、不能作为方法入参

 

typescript

代码解读

复制代码

public class Var2Demo { public void process(var list) { } }

总结

总之,jdk10之后提供使用var方便在开发中使用,提高了程序开发效率,但是在一定程序上可能会降低可读性,合理的利用jdk10提供的var语法糖,可以帮助开发,当然效果因人而异

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值