Lombok.val 실제로 유형을 쓰는 지역 변수 선언의 형식 대신 로Lombok.val은 실제로 어떻게 작동합니까?
사용 발에 당신을 수 있습니다. 이렇게하면 형식이 이니셜 라이저 식에서 유추됩니다. 지역 변수도 최종 결정됩니다.
그래서 그 대신
final ArrayList<String> example = new ArrayList<String>();
의 당신은 내가이 실제로 어떻게 작동하는지에 대한 몇 가지 조사를하려고했습니다
val example = new ArrayList<String>();
쓸 수 있지만 수없는 것 엄청난 양의 정보. the github page을 보면 val
이 주석 유형이라는 것을 알 수 있습니다. 그러면 실제 주석이 아닌 유형이 사용됩니다.
이런 식으로 주석 유형을 사용할 수도 있다는 것을 알지 못했지만 테스트 할 때 다음 코드가 실제로 유효합니다. 그러나, 나는 아직도 당신이 왜 이런 식으로 타입을 사용하고자하는지 확신 할 수 없다.
public class Main
{
public @interface Foo { }
public static void main(String... args)
{
Foo bar;
System.out.println("End");
}
}
그들이 주석이없는 경우 이러한 용도 롬복 프로세스를 수행하는 방법
하지만, 주석 유형? 내 (분명 잘못된) 이해하려면, 구문이 더 좋아 보일 것입니다 :
@Val foo = new ArrayList<String>();
(주석 위의 의미로 내가 알고 제약을 해요 올바른 구문되지 않습니다) 롬복가 작동하기 위해서는
고마워요! 훌륭한 도서관에 감사드립니다. 대체 할 대체품이있는 곳으로 안내해 줄 수 있니? 내가 관심. – Michael
Eclipse 및 ecj의 경우 https://github.com/rzwitserloot/lombok/blob/master/src/eclipseAgent/lombok/eclipse/agent/PatchVal.java 및 https://github.com/rzwitserloot/lombok/blob을 참조하십시오. /master/src/eclipseAgent/lombok/eclipse/agent/PatchValEclipse.java, javac에 대해서는 https://github.com/rzwitserloot/lombok/blob/master/src/core/lombok/javac/handlers/HandleVal.java를 참조하십시오. –