ArrayList는 제네릭 형식이 serializable 인 경우, javadoc (많은 Collection 클래스가 포함 된 개체 인 경우)에서 Serializable입니다. 직렬화 쪽이 작동합니다. 직렬화하고 다시 읽게됩니다. ArrayList 객체입니다.
iffy 캐스트입니다. 일반적으로 안전하지 않은 것으로 간주됩니다. 당신이
List<Specific>
이 있다면 당신은 그들이 (런타임에, 그들이 진짜로 경우에도) 논리적으로 같은 것이 아니다
List<Generic>
에 캐스팅 할 수 없습니다. 다음이 유효하기 때문에 사실, 프로그램 같은 직접적인 캐스트가 문제가 될 것입니다 :
List<Specific> specific = ...;
List<Generic> generic = (List<Generic>) specific;
generic.add(new OtherImplExtendingGeneric());
specific.get(specific.length() -1).methodOnlyOnSpecific(); // Kersplode
하지만 당신은 객체로 취급하고, 당신이 다른 유형에 대한 다른 참조가없는, 그래서 해결할 것입니다. 그것은 당신이 그것을하는 것을 막지 않을 것입니다. 기술적으로 원하는 결과를 얻을 수 있습니다. 이유가 있을지 모르지만 코드 검토에서 눈을 부시게 만들 것입니다.
왜 제네릭 형식을 사용해야합니까?
왜 사용해 보지 않으시겠습니까? – arshajii
어떤 특정 오류가 있습니까? –