一.==和equals()
1.本质上两者都比较的是引用地址(equals内部是==),但在String中已经重写了equals方法。
2.对于String来说,==比较地址引用是否相同,equals比较字符串内容是否相同(即双引号里的内容)。
二. String字符串
有两种声明方式:
1.String a="abc";
创建abc字符串,将其放入字符串常量池,(若String b=“abc";则b的地址引用和a的一样)
第一种方法创建字符串,会判断字符串常量池是否存在相同的字符串,没有则新建,有则复用。
2.String c=new String(”abc“);在堆内存中开辟空间放字符串,将该堆地址赋值给c。(也就是说c=堆地址,堆地址上存放abc。)
三.String常用方法
1.charAt(索引值);返回该索引值上的字符。
2.indexOf(字符);返回该指定字符的索引。
3.replace(”要换谁“,”要换成谁“);替换指定字符。
4.split(”根据啥切割字符串“);如”a,b,c“.split(",")默认返回的是按逗号切割后的数组,即["a","b","c"],默认输出的是该数组的地址。
5.length();字符串长度
6.subString(起始索引,截至索引);返回截取字符串(前避后开,起始索引包括,结尾索引不包括)
7.toLowerCase();将字符串转为小写。
8.toUpperCase();将字符串转为大写。
9.equals();
四.String,String Builder,StringBuffer
String:字符串对象一旦创建后就不可修改,只能创建新的字符串
String Builder:类似容器,内容可变。
StringBuffer:类似StringBuilder,区别在于StringBuffer是线程安全的。