1. 首页
  2. 后端

Java中var使用

  Java中var使用

==========

### 前言

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

var 使用

例如用var定义一个int变量

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

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()指定类型,直接使用

  var list  = new ArrayList<>();

会被推断为Object类型

jdk11升级

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

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不能定义变量

public class Var2Demo {

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

这种会报错

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

public class Var2Demo {

  private var a;
}

这种也是不允许的

3、不能作为方法入参

public class Var2Demo {

    public void process(var list) { }
}

总结

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

原文链接: https://juejin.cn/post/7367249733272387619

文章收集整理于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除,如若转载,请注明出处:http://www.cxyroad.com/17795.html

QR code