我所試圖實現的是類似以下內容:的Java的getter返回類型
public class Foo {
Object o;
public Foo(Object o) { //takes object
this.o = o;
}
public <T> T getO() { //the return type of this should be the object type
return (T) o;
}
}
例如:
Object o = "123"; // imagine this comes from external system and can be anything
Foo foo = new Foo(o);
String foo = foo.getO(); //returns String
我看到了使用谷歌的幾個例子在做類似的事情番石榴TypeToken
但無法得到完全我想要的行爲。
沒有'Foo'是一個泛型類型,這是行不通的 - 編譯器如何知道如何調用'Foo.getO()'? –
您需要製作Foo通用或使用反射...這裏有類似的東西嗎? http://stackoverflow.com/questions/75175/create-instance-of-generic-type-in-java – ACV