1.相等性的比较(==)
1) 对于原生数据类型来说,比较的是左右两边的值是否相等。
2) 对于引用类型来说,比较左右两边的引用是否指向同一个对象,或者说邹游两边的引用地址是否相同。
2.java.lang.Object类。Java.lang包
3.API(Application Programming Interface)应用编程接口。
4.当打印引用时,实际上回打印出所指对象的toString()方法方法的返回值,因为每个类都直接或间接的继承自Objet,而Object类中定义了toString()方法,因此每个类都有toString()这个方法。
5. equals()方法,该方法定义在Object 类当中,因此Java 中的每个类都具有该方法,对于Object 类的equals()方法来说,它是判断调用equals()方法的引用与传进来的引用是否一致,即这两个引用是否指向的是同一个对象。对于Object 类的equals()方法来说,它等价于==。
6. 对于String 类的equals()方法来说,它是判断当前字符串与传进来的字符串的内容是否一致。
7. 对于String 对象的相等性判断来说,请使用equals()方法,而不要使用==。
8. String 是常量,其对象一旦创建完毕就无法改变。当使用+拼接字符串时,会生成新的String 对象,而不是向原有的String 对象追加内容。
. String Pool (字符串池)
. String s =“aaa”; (采用字面值方式赋值)
9. 1) 查找String Pool 中是否存在“aaa”这个对象,如果不存在,则在String Pool 中创建一个“aaa”对象,然后将String Pool 中的这个“aaa”对象的地址返回来,赋给引用变量s,这样s 会指向String Pool 中的这个“aaa”字符串对象
10. 2) 如果存在,则不创建任何对象,直接将String Pool 中的这个“aaa”对象地址返回来,赋给s 引用。
11. String s = new String(“aaa”);
1) 首先在String Pool 中查找有没有“aaa”这个字符串对象,如果有,则不在String Pool中再去创建“aaa”这个对象了,直接在堆中(heap)中创建一个“aaa”字符串对象,然后将堆中的这个“aaa”对象的地址返回来,赋给s 引用,导致s 指向了堆中创建的这个“aaa”字符串对象。
2) 如果没有,则首先在String Pool 中创建一个“aaa “对象,然后再在堆中(heap)创建一个”aaa “对象,然后将堆中的这个”aaa “对象的地址返回来,赋给s引用,导致s 指向了堆中所创建的这个”aaa “对象。
string 是一个final类型的,是不可以改变的,所以如果要动态的添加字符串 使用StringBuffer。