我有一个通用的方法,例如:如何在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