我有一個通用的方法,例如:如何在Java泛型方法中定義返回類型?
public static<T> T execute(...) {
...
}
我如何定義是在方法體中是什麼類型T?例如:
if (T == String) {
// do something with strings
// return string;
}
if (T == Bitmap) {
// do something with bitmap
// return bitmap;
}
我嘗試以下,但它沒有工作:
T par = null;
if(par instanceof String) {
// do something with strings
// return string;
}
我想聲明par
像下面,但也不能工作。
T par = (T) null;
T par = (T) new Object();
如果你需要這樣做,這聽起來像你不想要泛型。 –
http://stackoverflow.com/questions/5734720/java-generics-obj-instanceof-t?rq=1 看看這個 –
也許你正在尋找重載一個函數,而不是泛型?有一個方法'執行(String s)'和另一個'執行(BitMap b)'? – Thomas