java中的instanceof如何应用??最好有详细的例子!!

解决方案 »

  1.   

    前几天还在讨论呢 呵呵看看这个帖子: 【求助】对于instanceof的新理解
      

  2.   

     instanceof是Java的一个二元操作符,和==,>,<是同一类东西。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。举个例子:
      String s = "I AM an Object!";
      boolean isObject = s instanceof Object;
      我们声明了一个String对象引用,指向一个String对象,然后用instanceof来测试它所指向的对象是否是Object类的一个实例,显然,这是真的,所以返回true,也就是isObject的值为true
      

  3.   

    此群是一个 java Flex 技术群,如有想在知识方面想共同进步的请加入,长期不发言者 将会被清楚群号:90551956希望大家都能带着知识和问题进来
      

  4.   

    obj instanceof ClassA
    ClassA可以是接口名、抽象类名、普通类名
    它用来判断是否 实现了接口/继承了抽象类/是某个类的实例 。
    一般在强制类型转换之前用这个语句进行判断,保证类型转换正确进行。
      

  5.   

    instanceof后面是没有括号的否则成了方法
      

  6.   


        instanceof 是一个二元操作符,Java保留关键字。
    使用方法:
        objectname instanceof ClassName ,返回值为Boolean类型。
    作用:
        表示左面的对象是否是右面类的一个实例(从instanceof的字母义上也可以理解),如果是的话,返回true,否则返回false。
    例子:
        上面3楼的例子给的有点牵强。Object是很多类的基类,你用 ** instanceof Object一般要返回true了。
        例一: String  s="a String object";
    Integer i=new Integer(4);
    People p=new People();//People 是一个自定义的类

    System.out.println(s instanceof String);
    System.out.println(i instanceof Integer);
    System.out.println(p instanceof People);    例二:instanceof常用的地方就是Object及其之类中equals()方法的重载。(这里就涉及到==和equals的不同,不多说了)
        以下就是Java中Integer类中equals()方法的源代码:    public boolean equals(Object obj) {
    if (obj instanceof Integer) {
        return value == ((Integer)obj).intValue();
    }
    return false;
        }
    //其基本思想就是,先判断两对象是不是同一类的实例,然后再判断两对象对应的所有属性值是否相等。