Java Lombok | final 변수 선언 - val 변수
val 변수
val
라는 타입으로 변수를 정의하면, 대입한 값에서 적당한 타입을 추론해 주고 final
이 선언이 된다.
package com.devkuma.tutorial.lombok;
import lombok.val;
import java.util.Arrays;
import java.util.HashMap;
public class ValTutorial {
public static void main(String... args) {
val list = Arrays.asList("devkuma", "araikuma", "kimkc");
list.forEach(System.out::println);
val map = new HashMap<String, Long>();
map.put("hoge", 1L);
map = null;
}
}
위에 소스 코드중에 map을 val로 선언한 코드에서 대해서도 아래와 같이 일반 유형도 제대로 로드되는 걸 볼 수 있다.
val에서 정의 된 변수에는 final
이 선언된 것이기에 다시 할당 할 수 없다.
map = null;
코드를 작성하여 실행하면 아래와 같이 에러 발생한다.
D:\dev\\java-lombok-tutorial\src\main\java\com\devkuma\tutorial\lombok\ValTutorial.java:17: error: cannot assign a value to final variable map
map = null;
^
최종 수정 : 2024-01-18