作者LPH66 (-858993460)
看板java
标题Re: [问题] instanceof与Class.forName结果不同
时间Thu Mar 24 21:47:35 2011
※ 引述《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
1F:推 slalala:我觉得他可能是class[i]=com.test.A.class 03/24 22:07
2F:推 Schatze:哈哈~原本是class_pool[] 只是方便识别写成class 03/24 22:56
3F:→ Schatze:谢谢您的指点,我这部份可能没检查仔细.我再去看一遍,真的 03/24 22:59
4F:→ Schatze:解不开时再贴过来请各位指点~ 03/24 23:01
5F:推 slalala:u的错了阿 型别不能是class啦 03/24 23:26