java 零散知识汇总(初级)

instanceof 运算符用法:

  instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

public class Temp2 {
    interface A {
    }

    static class B implements A {

    }

    static class C extends B {

    }

    public static void main(String[] args) {
        A a = null;
        B b = null;
        boolean res;

        System.out.println("instanceoftest test case 1: ------------------");
        res = a instanceof A;
        System.out.println("a instanceof A: " + res);

        res = b instanceof B;
        System.out.println("b instanceof B: " + res);

        System.out.println("/ninstanceoftest test case 2: ------------------");
        a = new B();
        b = new B();

        res = a instanceof A;
        System.out.println("a instanceof A: " + res);

        res = a instanceof B;
        System.out.println("a instanceof B: " + res);

        res = b instanceof A;
        System.out.println("b instanceof A: " + res);

        res = b instanceof B;
        System.out.println("b instanceof B: " + res);

        System.out.println("/ninstanceoftest test case 3: ------------------");
        B b2 = (C) new C();

        res = b2 instanceof A;
        System.out.println("b2 instanceof A: " + res);

        res = b2 instanceof B;
        System.out.println("b2 instanceof B: " + res);

        res = b2 instanceof C;
        System.out.println("b2 instanceof C: " + res);
    }

/*
result:

instanceoftest test case 1: ------------------
a instanceof A: false
b instanceof B: false

instanceoftest test case 2: ------------------
a instanceof A: true
a instanceof B: true
b instanceof A: true
b instanceof B: true

instanceoftest test case 3: ------------------
b2 instanceof A: true
b2 instanceof B: true
b2 instanceof C: true

*/
}
View Code

二、Integer属于对象,对象相等需要用equals,如果用“==”就会出现下面的情况:

  http://xiaoyu1985ban.iteye.com/blog/1384191

三、String的subString、charAt和toCharArray方法:

  http://7083005.blog.51cto.com/7073005/1392214

  http://speed-guo.iteye.com/blog/690824

四、Class的isInstance方法可判断对象的Class类型,用法如下:

System.out.println(String.class.isInstance("你好"));
View Code

  返回为true。

五、“string==null”和“string.equals(null)”实际上是一样的,因为:

  String中的equals方法如下:

public boolean equals(Object anObject) {
    if (this == anObject) {
        return true;
    }
    if (anObject instanceof String) {
        String anotherString = (String)anObject;
        int n = value.length;
        if (n == anotherString.value.length) {
            char v1[] = value;
            char v2[] = anotherString.value;
            int i = 0;
            while (n-- != 0) {
                if (v1[i] != v2[i])
                    return false;
                i++;
            }
            return true;
        }
    }
    return false;
}
View Code

  由此可知,当string是null时,equals方法会通过“==”判断出相等而返回true。

六、浅谈Java转义符\\|

  http://www.jb51.net/article/67835.htm

七、Java.util.Collections类包的学习

  http://daiyanfei.blog.51cto.com/698782/196335/

八、给一个对象赋值,会随原来的对象变化,关于java对象复制clone:

  http://blog.csdn.net/cynhafa/article/details/8678181

九、

 

posted @ 2016-05-20 09:18  NULLLLLL  阅读(178)  评论(0)    收藏  举报