Java常用类——字符串(String类)
关于String:
不可变的字符串
public final class String private final char value[];
由此可见,String存储的字符串实际上是存储在char数组中,这个数组被final修饰,因此String是不可变的字符串
String str = "abc";
str = "abc"+"d";
这两行代码中:
- str= “abc” ----> str指向了"abc"空间
- str=“abc”+“d” 则实际指向三个空间 “abc” “d” “abcd”
创建字符串
- 通过new关键字,构造方法
- 直接赋值
- 任何数据类型+" "都会变成String类型
字符串判断相等
实际情况中,一般关注的是字符串内容是否相等,而非关注该字符串的指向空间
== :比较的是地址码,即判断是否是同一个对象
equals() :比较的是内容,String会重写Object的equals()方法
在equals()的实际应用中,通常是写"常量".方法(字符串变量),这样可以避免出现空指针异常
强调:两个比较相等的方法都是区分大小写的!