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로 선언한 코드에서 대해서도 아래와 같이 일반 유형도 제대로 로드되는 걸 볼 수 있다.

lombok val 변수

val에서 정의 된 변수에는 final이 선언된 것이기에 다시 할당 할 수 없다.

lombok val 변수

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