Re: [問題] instanceof與Class.forName結果不同
※ 引述《Schatze (吃哈吱)》之銘言:
: 大家好
: 小弟實作了幾個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這個錯誤訊息呢? 謝謝
因為推文一行要等60秒, 先詳細解釋一下~
這個com.test.A是一個interface,
class[]裡是所有實作com.test.A的class.
但是裡面有一個class會引起
if( class[i] instanceof com.test.A )
出現錯誤訊息 : inconvertible types
所以希望這個引起錯誤訊息的class能夠
在if( class[i] instanceof com.test.A )裡面
做判斷時return false. 或是該怎麼在使用
上面的條件判斷式時, 強制使用try..catch
小弟是java新手, 麻煩大家多指點~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.139.204
討論串 (同標題文章)