獲得實例類的最佳方式是什麼?如何在Java中獲取對象類?
推薦的方法是什麼?和是什麼之間的差異(表演):
- 比較類
if(this.getClass().equals(MyClass.class)){
這似乎是相同的this.getClass() == MyClass.class
(或者使用Class.forName("com.test.MyClass")
)
測試的實例(似乎更具可讀性)
使用if(this instanceof MyClass){
測試實例類
if(MyClass.class.isInstance(myInst)){
你如何得到這個類的問題和比較類的例子似乎是矛盾的。你想知道什麼?如何比較類型? – nfechner 2012-07-18 13:55:16
'應該避免使用Class.forName(「com.test.MyClass」)',因爲'String'比'MyClass.class'難以重構更改。 – Simulant 2012-07-18 13:55:20
@nfechner我想知道我正在處理哪個繼承類:這段代碼是超類。 – 2012-07-18 14:09:59