그래서 3 개의 클래스가 있습니다.자바 제네릭 질문
메인 메소드를 포함 클래스 D에서Abstract class A
Class B extends class A
independent Class C
, I가 클래스 B의 인스턴스 목록을 생성
클래스 CI 지금의List<B> b = methodCall(); // the method returns a list of instances of class B
가 A 및 B 모두에 공통적 인 하나의 방법, 및 그러므로 나는 그것을 복제하고 싶지 않다.
public void someMethod(List<A> a)
을하지만, 내가 할 때 :
C c = new C();
c.someMethod(b);
내가 오류가 일부-방법을 적용 할 수없는 것을 다음과 같이 I는 입력으로 클래스 A의 인스턴스를 취 하나의 방법을 갖고 싶어 인수가 List<B>
인 경우 대신 List<A>
이 필요합니다.
이 문제를 해결할 수있는 좋은 방법이 있습니까? 많은 감사!
public void someMethod(List<? extends A> list)
이 목록을 할 수 있습니다 : 당신이 List<A>
을 기대 방법 및 클래스 B extends A
를 가지고 있고,이 방법 A List<B>
를 전달하려는 경우로
이 상속 문제되지 않습니다, 그것은 제네릭 질문입니다. 제네릭 튜토리얼을 검토하십시오. http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf –
실제 함수 정의와 가져 오는 오류의 복사본을 포함 할 수 있습니까? – VeeArr