假设我有一个方法public static void aMethod(T[] items)
。如何确定项目是String类型还是Int或Double类型?我使用instanceof
我不确定。
public static void aMethod(T[] items)
{
for(int i = 0; i < items.length; i++)
{
if(items[i] instanceof String)
{
}
}
}
答案 0 :(得分:0)
通常,Class类具有可能有用的方法,例如:
Object ob = new BigDecimal("30");
System.out.println(ob.getClass().getCanonicalName());
结果:java.math.BigDecimal
答案 1 :(得分:0)
试试这个,如果你想要的是获得类的名字......
items.getClass().getComponentType()
如果您想让不同的类型做不同的事情,请使用
instanceof
答案 2 :(得分:0)
Java使用type erasure实现泛型。因此,在运行时,这种情况下的数组将是一个Object
数组,尽管数组中的对象仍然都是(可能)类型为T - 在编译时指定