Java에서 LinkedList 배열을 인스턴스화할 수 없습니다
이 스레드에서 개발자는 Java에서 LinkedList 배열을 생성하려고 시도하는 동안 문제에 직면합니다. 희소 행렬에 값을 저장합니다. "LinkedList
이 오류의 근본 원인은 무엇입니까?
근본 원인은 일반 배열 생성을 금지하는 Java의 제한 사항에 있습니다. 기본이 아닌 유형. 제네릭은 런타임 ClassCastException을 방지하기 위해 Java 5에 도입된 유형 안전 메커니즘입니다. LinkedList
이유 배열 선언에서는 허용되지만 생성에서는 허용되지 않는 유형입니까?
배열 선언은 일반 유형 매개변수를 지정하지 않는 원시 유형인 LinkedList[]를 사용하고 있습니다. 원시 유형은 유형이 지정되지 않으며 유형 안전성을 적용하지 않습니다. 그러나 배열을 인스턴스화할 때 컴파일러는 특정 유형 매개변수를 제공해야 하며, 이로 인해 오류가 발생합니다.
해결책:
이 문제를 해결하려면 유형 캐스팅을 수행해야 합니다. 수정된 코드는 다음과 같습니다.
myMatrix = (LinkedList<IntegerNode>[]) new LinkedList<?>[numRows];
형변환(LinkedList
위 내용은 Java에서 LinkedList 배열을 만들 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!