如何找出数组的类型?

时间:2015-04-03 18:00:30

标签: java

假设我有一个方法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)
      {

       }
  }
}

3 个答案:

答案 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 - 在编译时指定