本文将介绍是 Java 中的 var 关键字以及如何使用它。

从 Java 10(JDK 10)开始,var 关键字已添加到 Java 语言中,支持局部变量类型推断,在该功能中,Java 编译器可根据上下文猜测变量的类型,允许程序员不明确声明变量的类型。

请看下声明局部变量的语句:

List list = new ArrayList();

在此变量声明中,类型信息( List 和 String )在左侧和右侧重复两次,导致重复和样板代码。

因此,可以使用 var 关键字来重写:

var list = new ArrayList();

这个例子可能使用 var 关键字的好处并不明显。来看另一个示例:

List list = Arrays.asList("One", "Two", "Three", "Four", "Five");

可以使用 var 关键字重写如下:

var list = Arrays.asList("One", "Two", "Three", "Four", "Five");

这里,Java 编译器可以根据方法的返回类型推断出变量的类型。

然后,可以直接使用变量:

String first = list.get(0);

再看另一个例子,假设有以下方法:

public Map> foo() {

// return a map

}

在不使用 var 的情况下,调用 foo() 方法时必须显式指定类型,如下所示:

Map> map = foo();

如果使用 var,代码将会简化很多:

var map = foo();

因此,使用 var 关键字可以使代码简洁,更具可读性并减少样板代码。 但是,也有一些限制:

只能将 var 用于局部变量(在方法中)而不能用于实例变量(在类级别)。

不能在 Lambda 表达式中使用 var。

不能将 var 用于方法签名(在返回类型和参数中)。

如果不进行显式初始化,则不能使用 var 声明变量:

var x;

这样不允许,因为局部变量声明需要在右侧进行初始化。 同样,下面的声明也是无效的:

var x = null;

var是java关键字,Java 中的 var 关键字及代码示例相关推荐

  1. cdate在java中_Java Calendar.add方法代码示例

    本文整理汇总了Java中java.util.Calendar.add方法的典型用法代码示例.如果您正苦于以下问题:Java Calendar.add方法的具体用法?Java Calendar.add怎 ...

  2. Java 泛型(generics)详解及代码示例、Java 类型通配符详解及代码示例

    Java 泛型(generics)详解及代码示例.Java 类型通配符详解及代码示例 - 概念 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制 ...

  3. java.util.zip 用法,Java压缩文件工具类ZipUtil使用方法代码示例

    本文实例通过Java的Zip输入输出流实现压缩和解压文件,前一部分代码实现获取文件路径,压缩文件名的更改等,具体如下: package com.utility.zip; import java.io. ...

  4. java打印心_使用java打印心型与圆形图案实现代码示例

    本篇文章小编给大家分享一下使用java打印心型与圆形图案实现代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 相信对于打印三角形都没什么难度,只 ...

  5. java中var是什么意思_js中的var是什么意思

    JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.js中的var是起声明作用,可以声明变量等.下面和小编一起详细了解一下吧. var作用:声明作用:如声明个 ...

  6. java中的me关键字_java中的volatile关键字

    一.详细解释 在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言是支持多线程的,为了解决线程并 ...

  7. java修饰类的关键字_JAVA中的修饰关键字

    今天我们来说说JAVA中的修饰关键字. 常用的有: 1.final 关键字 修饰成员变量:a. 必须初始化值. b. 被fianl修饰的成员变量赋值,有两种方式:1.直接赋值 2.全部在构造方法中赋初 ...

  8. java关键字static_Java中的static关键字

    java关键字static static keyword in Java is used a lot in java programming. Java static keyword is used ...

  9. java中default关键字_Java 中的 default 关键字及代码示例

    本文通过代码示例介绍如何在 Java 中使用 default 关键字. 基本上,有 3 个地方可以使用 Java 中的 default 关键字: 在 switch case 语句中指定默认值 在 Ja ...

  10. java异常类关键字_Java中的异常处理关键字是什么?

    java异常处理中使用了四个关键字. throw:有时我们明确要创建异常对象然后抛出它来停止程序的正常处理.throw关键字用于向运行时抛出异常来处理它. throws:当我们在方法中抛出任何已检查的 ...

最新文章

  1. 编程之美-判断点是否在三角形内方法整理
  2. Nginx+Tomcat负载均衡
  3. 除了工商银行,目前中国还有那些宇宙级别的企业?
  4. Vue3 高级语法(二)—— 自定义指令、Teleport、Vue插件
  5. java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/Str
  6. 监控hdfs坏块脚本
  7. 【SpringBoot_ANNOTATIONS】组件注册 02 @ComponentScan 自动扫描组件 指定扫描规则
  8. 总结——pandas/numpy处理数据中文手册速查
  9. 2022年计算机二级Web程序设计复习题及答案
  10. iPhone 总是提示 无法验证服务器身份 a.wunderlist.com 解决办法
  11. 数据库基础知识(索引)
  12. noob的python学习之路
  13. setResult(RESULT_OK, intent)回调不执行问题
  14. Codeforces 32C.Flea
  15. ROS中小乌龟画矩形不够方问题的探讨
  16. 公司职位简称表 C?O
  17. 使用python+selenium对12306车票数据读取
  18. TFS 数据库表信息
  19. Blender 制作Lowpoly 宝剑
  20. 沟通是管理的核心与灵魂

热门文章

  1. 干货:Hulu教你赴美工作怎么拿签证!
  2. python 邮件_Python发送邮件(常见四种邮件内容)
  3. android 相机闪光灯,在Android中使用相机闪光灯闪烁
  4. 看linux后台台账,linux怎么查询台账信息
  5. 制作京东快报页面html,HTML第6章上机练习3(制作京东快报页面)
  6. 值得看三次的高干文_值得看三次的高干文12部
  7. NOIP提高组初赛模拟赛赛后感想
  8. 基于 MVC 模式实现简单 航班查询系统
  9. 梦想还是要有的,即使被摧残着!
  10. 人工智能产业发展路线图是,先建岛,再扩区,由点到面