Object类详解

作者: 小白qqqqq | 来源:发表于2018-06-04 12:43 被阅读12次

    相等性的比较:

    (1)对于原生数据类型来说,比较左右两边的值是否相等。

    (2)对于原生数据类型来说,比较左右两边的引用是否指向统一对象,或者说左右两边的引用地址是否相同。


    Java.lang.object类。Java.lang包在使用的时候无需显式导入,编译时由编译器自动帮助我们导入。

    API(Application Programming Interface),应用编程接口。

    当打印引用时,实际上会打印出引用所指向对象的toString()方法的返回值,因为每个类都直接或者间接继承自Object,而Object类中定义了toString(),因此每个类都有toString()方法。

    关于进制的表示:16进制,逢16进一,16进制的数字包括:0-9,A,B,C,D,E,F。


    String类源代码深析

    equals()方法,该方法定义在object类当中,因此Java中的每个类都具有该方法。对于object类的equals()方法来说,它是判断调用equals()方法的引用与传进来的引用是否一致,即这两个引用是否指向同一个对象。对于Object类的equals()方法来说,它等价于==。

    对于String类的equals()方法来说,它是判断当前的字符串与传进来的字符串的内容是否一致。

    对于String对象的相等性判断来说,请使用equals方法,而不要使用==。

    String类陷阱深度剖析

    String是常量,其对象一旦建立完毕就无法改变。当使用+拼接字符串时,会生成新的String对象,而不是原有的String对象追加内容。

    String Pool(字符串池)。

    String s="aaa";(采用字面值赋值)

    (1)查找String Pool是否存在"aaa"这个对象,如果不存在,则在String Pool中创建一个"aaa"对象,然后将String Pool中的这个"aaa"对象的地址返回来,赋值给变量s,这样s会指向String Pool中的这个"aaa"字符串对象。

    (2)如果存在,则不创建任何对象,直接将String Pool中的这个"aaa"对象地址返回来,赋值s引用。

    String s=new String("aaa");

    (1)首先在String Pool中查找有没有"aaa"这个字符对象,如果有,则不在String Pool中再去String Pool中再去创建"aaa"这个对象,然后将堆中的这个"aaa"对象的地址返回来,赋值给s引用,导致s指向了堆中创建的这个"aaa"字符串对象。

    相关文章

      网友评论

        本文标题:Object类详解

        本文链接:https://www.haomeiwen.com/subject/chfssftx.html