前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java中var的使用方法

Java中var的使用方法

作者头像
科技新语
发布2024-08-26 16:06:14
770
发布2024-08-26 16:06:14

前言

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

var 使用

例如用var定义一个int变量

代码语言:javascript
复制
typescript 代码解读复制代码public class VarDemo {

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

输出结果为

image.png
image.png

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

代码语言:javascript
复制
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()指定类型,直接使用

代码语言:javascript
复制
ini 代码解读复制代码  var list  = new ArrayList<>();

会被推断为Object类型

jdk11升级

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

代码语言:javascript
复制
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不能定义变量

代码语言:javascript
复制
typescript 代码解读复制代码public class Var2Demo {

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

这种会报错

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

代码语言:javascript
复制
kotlin 代码解读复制代码public class Var2Demo {

  private var a;
}

这种也是不允许的

3、不能作为方法入参

代码语言:javascript
复制
typescript 代码解读复制代码public class Var2Demo {

    public void process(var list) { }
}

总结

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

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • var 使用
    • jdk11升级
      • var使用要注意的点
      • 总结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档