[問題] instanceof與Class.forName結果不同

看板java作者 (吃哈吱)時間13年前 (2011/03/24 19:14), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/3 (看更多)
大家好 小弟實作了幾個class, 其中有一個是com.test.A, 但在使用時遇到一種情況, if( class[i] instanceof com.test.A ) 會出現錯誤訊息inconvertible types, 但是 if( class[i].equal(Class.forName("com.test.A")) ) 卻得到true, 請問這是什麼情形呢? 在com.test.A這個class裡該怎麼修改才能使 class[i] instanceof com.test.A 是 return false 而不是出現inconvertible types這個錯誤訊息呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.110.117.10

03/24 19:29, , 1F
return false 是寫錯? class[] 是啥型態?
03/24 19:29, 1F

03/24 19:45, , 2F
這 class[i] 該不會是個 Class<com.test.A> 吧 囧a
03/24 19:45, 2F

03/24 19:47, , 3F
看起來真是這樣 XD...
03/24 19:47, 3F

03/24 20:42, , 4F
這個A是一個interface, class[]裡都是實作它的class. 但是
03/24 20:42, 4F

03/25 22:35, , 5F
class 不是保留字嗎? 不能 class[i] 吧...
03/25 22:35, 5F
文章代碼(AID): #1DYoUasM (java)
文章代碼(AID): #1DYoUasM (java)