我想從方法參數獲取實例或類名稱如下:如何從<T>類方法的參數實際類類型
public class Test {
public void getData (Class<T> type){
// Class type of instance of "type" method argument.
if(type instanceOf SomeClass) {
//Do something
}
}
}
我已經嘗試過的通貨再膨脹的方法,如的getClass(),getSimpleClassName (),getName()等。這些都將類名稱返回爲「Class」,將實例返回爲「class java.lang.Class」。我需要它將實例與某個類進行比較,並進行必要的操作。
'type == SomeClass.class' –
爲什麼需要這些信息?這可能是一個[XY問題](http://mywiki.wooledge.org/XyProblem),當最好的解決方案是使用完全不同的方法時,如何解決特定的代碼問題。 –
'類型instanceOf SomeClass'不能與類一起工作,請嘗試'SomeClass.class.isAssignableFrom(type)'。但是Hovercraft建議你應該退一步考慮你是否真的需要這個,或者是否有更好的解決方案(比較容易理解和維護,不易破碎等)。 – Thomas