0
를 사용하는 방법은 두 가지 유형에 대해 하나의 방법을 사용하고 싶습니다와 나는이 같은 시도 :일반적인 함수 매개 변수
private <T extends Base> boolean isNeeded(String name, T receivedItem) {
Base item = null;
if (receivedRequest.getClass().equals(Derived1.class)) {
item = (Derived1) receivedItem;
} else if (request.getClass().equals(Derived2.class)) {
item = (Derived2) receivedItem;
}
callMethodDoSomething(item.getData().getSpecificData());
}
하지만 난 단지 파생 클래스에있는 메소드를 호출하는 방법을 모르겠어요. 가장 최선의 방법은 무엇입니까?
실제 문제가 무엇인지 이해하기 다소 어렵다 (또한 사용되지 않기 때문에 '이름'매개 변수를 생략) 왜 그냥
는 이그것은 것 실제로 자식 클래스 (클래스) 메서드를 호출하고 컴파일하지 못하는 코드를 제공하면 상황이 개선됩니다. 이 전화는 각 캐스팅 직후에 각각''''if'' 블록 내부에 있어야합니다. ''''''''''''''''Derived2''를 확장하는지 여부에 상관없이'''callMethodDoSomething''은 아이템이 받게 될 일반적인 대우입니까? –
두 개의'''(Derived?)'' '쓸모가 없다. –