我想製作一個我可以做的界面,例如正確的方法來做一個通用的接口方法?
public interface Getter {
T get(String location);
}
public class IntegerGetter {
Integer get(String location) {
Object x = foo(location);
if (!(x instanceOf Integer)) { throw Exception }
return (Integer) x;
}
}
什麼是安排仿製藥的正確方法,使這項工作?一種選擇似乎是使T成爲接口本身的類型參數,例如, Getter<T>
,IntegerGetter<Integer>
,但由於該參數僅用於一種方法,因此它更適合作爲方法參數。然而,我被告知只有類型參數是該方法的返回類型是危險的,例如, <T> T get
。
什麼是'foo'在這裏? – flakes
「,但由於參數僅用於一種方法,因此它更適合作爲方法參數。」不,它沒有任何意義。使用'Getter'和'IntegerGetter implements Getter '。 –
bradimus
@bradimus我提供的例子很少,但實際上我正在構建一些其他一些與類型無關的方法。在這種情況下,95%的用戶不會使用該方法,但他們仍然需要提供泛型類型參數。應該做得更清楚。你是否仍然說它沒有更多意義? –