当前位置: 首页 > 工具软件 > Vala > 使用案例 >

lombok 的 val 与 var

靳高明
2023-12-01

lombok 的 val 与 var

一. 含义

  • val 和 var 是lombok 提供的语法糖,可以进行类型推断的功能.
  • 您可以将val用作局部变量声明的类型,而不是实际编写的类型.执行操作的时候,将从初始化设定项的表达式推断类型.
  • 此功能仅适用于局部变量和 foreach 循环,不适用于字段.

二. 使用

public class ValDemo {

	public static void main(String[] args) {
		/*
			最终展示 : 
			a
			b
			a : b
			b : 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 中最为实验性功能引入.

六. 参考文献

 类似资料: