object 类
相等性的比较:
1.对于原生数据类型来说,比较的是左右两边的值时候相等。
2.对于引用类型来说,比较左右两边的引用是否指向同一对象,或者说
左右两边的引用地址是否相同。
java.lang.Object类
1、当打印引用时,实际上会打印出引用所指对象的toString()方法的返回值
,因为每个类都直接或间接地继承自object,而object类中定义了
toString()这个方法。
2.equals()方法,该方法定义在Object类中,因此java中的每个类都具有该方法,
对于Object类的equals()方法来说,它是判断调用equals()方法的引用与
传进来的引用是否一致,即这两个引用是否指向的是同一个对象。对于Object的equals()的方法来说,它等价于==。
3.对于string类的equals()方法来说,它是判断当前字符串与传进来的字符串的内容是否一致,
4.对于String对象的相等性判断来说,请使用equals()方法,而不使用==。
5.String 是常量,一旦被创建完毕后就不能被改写。当使用+时拼接字符串时,是创建了一个新的String对象,而不是向原有的对象追加内容。
6.string pool(字符池):
?
String s = "aaa";//采用字面值的方式赋值
a.查找string pool 中是否存在字符串“aaa”,如果不存在,就在string pool 中创建一个“aaa ”对象,将对象“aaa”
的地址返回来。赋给引用变量s。这样s会指向string pool 中的“aaa”对象。
b。如果在string pool中存在字符串对象“aaa” ,则直接把string pool 中的对象赋给S使用。
?
?
String s? = new String("aaa");
a.在string pool 中查找是否存在“aaa” 对象,如果存在,则不在string pool 中创建“aaa”对象,而在堆中(heap)中创建一个“aaa”对象。将堆中“aaa”对象返回来。赋给s使用。导致s指向堆中的“aaa”对象。
API(application programming interface )应用编程接口。
b。如果没有,则首先在string pool 中创建一个“aaa”对象,然后再堆中创建“aaa”对象。?将堆中“aaa”对象返回来。赋给s使用。导致s指向堆中的“aaa”对象