1、Java没有内置的字符串类型,而是预定义类String,用双引号括起来的字符串都是String的实例
e.g String str = "abc"
2、字符串不可变
-
不能直接将字符串的字符改变为其他值
e.g str1 = "abc" str1 = "abd"
在上例中直接将str1中的'c'改变为'd'是没有办法的,如果想要修改,可以提取想要保留的字串,再进行替换
e.g str1 = str1.substring(0,2)+'d';
当然,如果你想要直接替换也可以,但是这相当于重新创建一个字符串
e.g String str = "abc"; str = "abd";
注意,字符串不可变是指字符串中的单个字符不能修改
-
优点:编译器可以让字符串共享
如果是相同的字符串,将存放在同一个位置,即不会重新开辟区域
3、检测字符串相等
-
== ,确定两个字符串是否放在同一个位置上
e.g String str1 = "abc"; String str2 = "abc"; String str3 = str1.substring(0,2)+"c" str1 == str2 ; // true str1 == str3 ; //false
-
equals,检测字符串值是否相等
str1.euqals(str2) ; // true str1.euqals(str3) ; // true