2015-04-03 65 views
0

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

     } 
    } 
} 
+4

您需要這樣做的事實是符號代碼味道。你的用例是什麼? – 2015-04-03 18:02:54

回答

0

一般類類有可能幫助的方法,例如:

Object ob = new BigDecimal("30"); 
System.out.println(ob.getClass().getCanonicalName()); 

結果:java.math.BigDecimal的

0

試試這個,如果你想要的是獲取類的名字...

items.getClass().getComponentType() 

如果你想讓不同的類型做不同的事情,請使用

instanceof 
0

Java使用type erasure實現泛型。因此,在運行時,這種情況下的數組將是一個Object數組,儘管數組中的對象仍將全部(可能)爲T類型 - 在編譯時指定

相關問題