lombok 的 val 与 var
lombok 的 val 与 var
一. 含义
- val 和 var 是lombok 提供的语法糖,可以进行类型推断的功能.
- 您可以将
val
用作局部变量声明的类型,而不是实际编写的类型.执行操作的时候,将从初始化设定项的表达式推断类型. - 此功能仅适用于局部变量和
foreach
循环,不适用于字段.
二. 使用
public class ValDemo {public static void main(String[] args) {/*最终展示 : aba : bb : c*/listDemo();mapDemo();}private static void listDemo() {val example = new ArrayList<String>();example.add("a");example.add("b");for (val s : example) {System.out.println(s);}}private static void mapDemo() {val example = new HashMap<String, String>();example.put("a", "b");example.put("b", "c");for (val entry : example.entrySet()) {System.out.println(entry.getKey() + " : " + entry.getValue());}}
}
三. val 和 var 区别
var
工作方式与val
完全相同,只是局部变量未标记为final。
四. 配置
- lombok.var.flagUsage= [ warning| error](默认值:未设置). var如果已配置, Lombok 会将任何用法标记为警告或错误。
- lombok.val.flagUsage= [ warning| error](默认值:未设置).val如果已配置, Lombok 会将任何用法标记为警告或错误。
五. 版本变更
- val 是在 lombok 0.10 中引入 , 1.18.22 中将 val 替换为 final var
- var 在 lombok 1.16.12 中最为实验性功能引入.
六. 参考文献
- [1] lombok 官方文档
lombok 的 val 与 var相关推荐
- Lombok之@Val和@Var使用
前言: @Val和@Var在开发过程中几乎不会使用到.但是,为了Lombok系列文章的完整性,还是将它写出来了. 读者可根据兴趣选择性学习. 一. 为什么不用@Val和@Var? 为什么不用@Val和 ...
- 【Lombok】val 和 var的使用 | 像 JavaScript 一样的去声明变量
文章目录 一.简介 1. val 2. var 3. 区别 二.示例比较 1. Lombok 写法 2. Java 标准写法 三.支持的配置项 四.附属说明 参考文献 一.简介 1. val val是 ...
- 在Scala中评估val,var,lazy val和def构造时
发表简短目录 (Post Brief TOC) Introduction介绍 Scala 'val' usageScala" val"用法 How Scala 'val' is E ...
- val和var和Java
val和var和Java object Hello{def main(args :Array[String]){var i = 1val k = i}} jvm代码 public final clas ...
- scala val 与var 区别
一个var和VAL定义在Scala之间的区别是什么? 一之间的区别是什么var和val在Scala中定义和为什么的语言都需要?为什么你会选择val在一个var反之亦然? 1. 正如许multiplay ...
- scala 中的val 、 var 、def
断断续续学习scala也有一段时间了,初期总对val 与var 的理解不太透彻,今天来做做总结. 一般都知道val 表示不可变,var表示可变,比如: val s ="hello" ...
- val和var的区别
美图欣赏: 一.背景 学习过程中,会有很多小的并且容易混淆知识点,因此会把它记录下来. 二.val(value)和var(variable)的区别 基本语法: var|val 变量名 : 变量类型 = ...
- Kotlin中val和var的区别
变量可以很简单地定义成可变(var)和不可变(val)的变量.这个与Java中使用的final很相似.但是不可变在Kotlin(和其它很多现代语言)中是一个很重要的概念. 一个不可变对象意味着它在实例 ...
- Scala变量定义val与var的区别
Scala有两种变量:var和val.val类似与Java种的final变量,一旦初始化了,就不能再被赋值.相反,var可以在生命周期内被多次赋值! 同样的代码,我把val改成var编译就没有问题了;
最新文章
- ubuntu安装redis的方法以及PHP安装redis扩展、CI框架sess使用redis的方法
- python编写ftp客户端_用Python写FTP客户端程序
- MULE ESB参考网站所在位置
- vuecli3修改html,vue-cli3多页应用改造
- [导入]商业智能2.0?(BI 2.0 from Timo Elliott)
- linux 无法找到函数定义,找到定义Linux函数的位置
- python将图片作为变量_遍历图像列表并在python中将其作为变量分配
- Jackson Annotation Examples
- 新建linux服务器初始化操作
- 笔记本电脑连接打印机_傻瓜操作,轻松搞定工作中各种打印难题,兄弟激光打印机开箱体验...
- Python获取指定目录下文件数量及总大小
- 战神CPU计算机硬件组装
- WIN7无法卸载掉中文繁体注音输入法
- lenovo G480 安装无线驱动 linux
- eyoucms个人网站去版权
- Android应用开发详解
- 北京大学计算机801考试大纲,2019年中国科学院大学801高等代数考研初试大纲
- Git GUI中文乱码问题解决方法
- DxO PhotoLab for Mac(照片编辑软件)
- echarts设置视觉引导线穿过两行文字的效果
热门文章
- 法拉第未来向SEC承认信息披露不准确、不完整
- 虚拟主机怎么导入PHP文件,虚拟主机怎么上传PHP文件到htdocs
- 监理工程师岁月--蓝精灵的帽子
- golang学习路径(更新中)
- chrome扩展程序科学_5 Chrome扩展程序可简化您作为数据科学家的生活
- 在校大学生学习云计算好就业吗
- 1024 科学计数法 (20分) c/c++代码中有详细解释
- Recovery简介
- 输入法产品智能化“升维”,AI创新如何成为竞争赛点?
- 解决方法:修改GD32F10x例程设备型号后编译时提示“CAN0_RX_IRQn“ has already been declared in the current scope CAN0_RX1...