Java 如何找出数组的类型?
假设我有一个方法publicstaticvoidamethodt[]items。如何确定项的类型是String、Int还是Double?我使用了我不确定的实例Java 如何找出数组的类型?,java,Java,假设我有一个方法publicstaticvoidamethodt[]items。如何确定项的类型是String、Int还是Double?我使用了我不确定的实例 public static void aMethod(T[] items) { for(int i = 0; i < items.length; i++) { if(items[i] instanceof String) { } } } 通常,类有一些方法可能会有所帮助,例如: Ob
public static void aMethod(T[] items)
{
for(int i = 0; i < items.length; i++)
{
if(items[i] instanceof String)
{
}
}
}
通常,类有一些方法可能会有所帮助,例如:
Object ob = new BigDecimal("30");
System.out.println(ob.getClass().getCanonicalName());
结果:java.math.BigDecimal试试这个,如果你想得到类名的话
items.getClass().getComponentType()
如果你想让不同的类型做不同的事情,使用
instanceof
Java使用。因此,在运行时,本例中的数组将是一个对象数组,尽管数组中的对象可能仍然都是在编译时指定的T类型您需要这样做的事实是代码气味的迹象。你的用例是什么?