0
나는 두 개의 클래스가 있습니다 ItemArguments에서Java : 반환 값을 자동으로 캐스팅하는 방법이 있습니까?
public abstract class Arguments {
public List execute() {
// do some stuff and return a list
}
}
// and a child :
public class ItemArguments {
public List<Item> execute() {
return super.execute();
}
}
당신이 볼 수 있듯이,이 방법은 실행 조금 쓸모없는, 그러나 그것없이, 나는 인수의 실행 방법에 대한 모든 내 전화를 캐스팅해야합니다.
ItemArguments에서 execute 메서드를 제거하고 캐스트가 호출되는 위치에서 캐스트를 수행하지 않도록 할 수 있습니까?
도움 주셔서 감사합니다. 당신은 심지어 당신이 T에 너무
public class Arguments<T> {
public List<T> execute() {
// blah
}
}
Arguments<Item> o1 = new Arguments<Item>();
List<Item> o2 = o1.execute();
호출 방법을 수행하는 다른 이유가 없다면 서브 클래 싱 할 필요가 없습니다
위대한없이 대부분 이해할 수있다! 완전한!! 감사!!! :) –
다음 받아들입니다 :) (진드기를 클릭하십시오) – ptomli
그냥 조금 질문 : 어떻게 T는 사용할 수 있습니까? T.에 위치한 정적 메서드를 호출해야합니다. 좋은 방법은 Reflection을 사용하는 것이지만 T.getDeclaredMethod는 작동하지 않는다고 생각합니다./ –