展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

Jdk10局部变量类型推断var

  • Java是⼀种强类型, 许多流⾏的编程语⾔都已经⽀持局部变量类型推断,如js,Python,C++等

  • JDK10 可以使⽤var作为局部变量类型推断标识符

  • Local-Variable Type Inference(局部变量类型推断),顾名思义只能⽤做为局部变量

仅适⽤于局部变量,如 增强for循环的索引,传统for循环局部变量
不能使⽤于⽅法形参、构造函数形参、⽅法返回类型或任何其他类型的变量声明
标识符var不是关键字,⽽是⼀个保留类型名称,⽽且不⽀持类或接⼝叫var,也不符合命名规范
可以⽤jshell或者IDEA试验
  • 使用idea试验时,需配置高于jdk10的版本

  • 代码案例
public class Main {

    public static void main(String[] args) throws Exception {
        //根据推断为字符串
        var strVar = "springboot";
        System.out.println(strVar instanceof String);

        //根据10L 推断long类型
        var longVar = 10L;

        //根据true推断 boolean类型
        var flag = Boolean.valueOf("true");
        System.out.println(flag instanceof Boolean);

        //推断 ArrayList<String>
        var listVar = new ArrayList<String>();
        System.out.println(listVar instanceof ArrayList);

        var streamVar = Stream.of("aa","bb","cc");
        System.out.println(streamVar instanceof  Stream);

        if(flag){
            System.out.println("这个是 flag 变量,值为true");
        }

        for(var i = 0; i<10;i++){
            System.out.println(i);
        }

        try(var input = new FileInputStream("")){
        }

    }

}
posted @ 2022-08-26 07:38  DogLeftover  阅读(34)  评论(0编辑  收藏  举报