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

看板java作者 (-858993460)時間13年前 (2011/03/24 21:47), 編輯推噓3(302)
留言5則, 2人參與, 最新討論串3/3 (看更多)
※ 引述《Schatze (吃哈吱)》之銘言: : 因為推文一行要等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新手, 麻煩大家多指點~ inconvertible types 只會在 compile time 出現 這代表 javac 發現了 class[i] 的型態和 com.test.A 是不可能互轉的 所以告訴你這裡有問題 這只會發生在 class[i] 的型態和 com.test.A 是處在繼承樹的兩個不相關的分支 (例如 java.lang.Integer 和 java.util.Scanner 這樣什麼關係都沒有的兩個 class) 所以為什麼推文會問你程式裡的 class[] 是什麼型態就是這樣 或許你可以把出問題的 function 貼上來會比較好抓問題 -- 話說回來 class 是保留字耶...你到底是怎麼寫的?! -- ˊ_▂▃▄▂_ˋ. ◣          ▅▅ ▅▅ ι●╮   ./◤_▂▃▄▂_◥ \'▊   HARUHI █████ <■┘   ◤◤◥█◥◥█Δ   ISM    By-gamejye ¢|\   ▌▌ζ(▏●‵◥′●)Ψ ▏           █    ⊿Δ    /|▋ |\ ▎         ハルヒ主義      ▄█ ◥◥|◣ ‵′ ◢/'◢◢S.O.S 世界をいに盛り上げるための宮ハルヒの    -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.28.92

03/24 22:07, , 1F
我覺得他可能是class[i]=com.test.A.class
03/24 22:07, 1F

03/24 22:56, , 2F
哈哈~原本是class_pool[] 只是方便識別寫成class
03/24 22:56, 2F

03/24 22:59, , 3F
謝謝您的指點,我這部份可能沒檢查仔細.我再去看一遍,真的
03/24 22:59, 3F

03/24 23:01, , 4F
解不開時再貼過來請各位指點~
03/24 23:01, 4F

03/24 23:26, , 5F
u的錯了阿 型別不能是class啦
03/24 23:26, 5F
文章代碼(AID): #1DYqjvms (java)
文章代碼(AID): #1DYqjvms (java)