제네릭은 Java SE 1.5의 새로운 기능입니다. 즉, 데이터 유형은 다음과 같습니다. 작업은 매개변수로 지정됩니다.
혜택: 으로 으로 ‐ ‐ ‐ ‐ to
---
더 많은 재사용
4. GJ(일반 JAVA)로 작성된 코드는 더 많은 유형 정보를 가져올 수 있습니다. Java 컴파일러 및 가상 머신 이 정보는 Java 프로그램의 추가 최적화를 위한 조건을 제공합니다.
Java에서 제네릭은 어떻게 작동하나요? 유형 삭제란 무엇인가요?
1. 유형 검사: 바이트코드 생성 전 유형 검사 제공
2. 유형 삭제: 클래스, 변수 및 메소드를 포함한 모든 유형 매개변수가 해당 유형으로 대체됩니다(유형 삭제)
3. 충돌, 해결을 위해 서브클래스에 브리지 메소드 생성
4. 제네릭 메소드의 반환 유형이 삭제된 경우 메소드 호출 시 강제 유형 변환 삽입
유형 삭제:
모든 유형 매개변수가 대체됩니다. 정규화된 유형 사용:
예: 구현을 제외하고 컴파일러는 컴파일 타임에 모든 유형 관련 정보를 삭제하므로 런타임에는 유형 관련 정보가 없습니다. 예를 들어, List은 런타임에 하나의 List로만 표현됩니다.
이의 목적은 Java 5 이전 버전에서 개발된 바이너리 클래스 라이브러리와의 호환성을 보장하는 것입니다. 컴파일러가 일반 유형을 기본 유형으로 변환했기 때문에 런타임 시 유형 매개변수에 액세스할 수 없습니다. 이 제네릭 질문에 대한 답변에 따라 제네릭이 유형 삭제로 구현되는 이유 또는 컴파일러 오류를 일으키는 잘못된 제네릭 코드가 표시되는 등 몇 가지 후속 질문을 받게 됩니다.
List
위 내용은 Java 제네릭 인터뷰 질문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!