다이아몬드 연산자의 기본 동작은 무엇 :나는 다음과 같은 선언 뭔가를 본 기억이
private static Logger log = Logger.getLogger(<>.class);
장점은 실수로 서로에 대한 로거없이 클래스에 클래스에서 붙여 넣기 할 수 있었다 수업.
이제는 컴파일 할 수 없으므로 구문이 잘못되었습니다. 그렇다면 정확히 <> (ArrayList <>() 등이 아닌) 자체적으로 해결할 수 있습니까? 나는 법적 멋진 트릭과 웹에 그것을 보았다
- :에서 법적 구문입니다
내 주장이 온다 :
당신에게업데이트 감사드립니다.
- 필자와 동료가 모두 Java 7을 사용하여 IntelliJ에 붙여 넣었으며 제대로 컴파일되었습니다.
즉, 그 페이지로 다시 이동하게 될 검색을 찾을 수 없으며, 지금 컴파일 할 수 없습니다. 컴파일러 나 Java 스펙 지식을 가진 사람이 그것이 유효하고 기본값이 무엇인지 확실하게 말할 수 있기를 바라고 있습니다.
아무 것도 아닙니다. 구문 상 올바르지 않습니다. –
제가 아는 한,는 결코 합법적이지 않습니다. 다이아몬드 연산자 (Java 7에서 소개)는 마지막 예제 ('new ArrayList <>()')에서와 같이 생성자 호출에 대한 제네릭 형식 매개 변수를 유추해야 함을 나타냅니다.(다이아몬드 연산자가 없다는 것은 원시 타입의 생성을 의미한다.) –
일부 IDE는 해당 구문을 사용하여 유형을 숨길 수 있다고 생각하지만 여전히 실제로 존재 하는가? –