晒太阳

关于instanceof的用法

先看两个小程序:
1、
1public class IntegerTypeTest {
2    public static void main(String[] args){
3        String str = "abc";
4        boolean myBoolean = (str instanceof Integer); //compile time error
5        System.out.println(myBoolean);
6    }

7}
2、
 1     import java.util.*;
public class InstanceOfDemo {
 2
 3    public static void main(String[] args) {
 4        System.out.println(new InstanceOfDemo() instanceof String); //compile time error
 5        System.out.println(new InstanceOfDemo() instanceof Exception); //compile time error
 6        System.out.println(new InstanceOfDemo() instanceof Object); //compilation and output true
 7        
 8        System.out.println(new InstanceOfDemo() instanceof List); //compilation and output false
 9    }

10}

11
这两个程序的编译结果和我们预想的不一样,第一个程序编译结果是:

第二个程序编译结果是:

产生这种错误的原因在于,instanceof运算符第一个操作数的类型应该是第二个操作数的父类、子类或者与第二个操作数的类型相同。否则编译会出错。

posted on 2009-09-23 08:39 晒太阳 阅读(322) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 
<2009年9月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

导航

统计

常用链接

留言簿

随笔档案

文章档案

收藏夹

搜索

最新评论

阅读排行榜

评论排行榜