String是一个char[]数组,本身还是一个类本类。
String分类:
不可变字符串:String。
可变字符串:StringBuilder/StringBuffer。
字符串为空的两种形式
1.表示引用为空: String str = null;——还没有初始化,没有分配内存空间。
2.表示空字符串: String str = “”;——已经创建了对象,已经分配了内存,但内存当中的内容为空。
String数据比较
1、“==”比较的是堆内存空间的地址。
2、“equals()”比较的是字符串的内容。
——————————————————————————————————————
实例化对象:
1、直接赋值
public static void main(String[] args) {
// TODO Auto-generated method stub
String name1="神仙姐姐";
String name2="神仙姐姐";
System.out.println("name1地址是否等于name2->"+(name1==name2));
}
//结果:name1地址是否等于name2->true
一个字符串就是一个String类的匿名对象。
String采用直接赋值,只要以后声明的字符串内容一样,就不会再去开辟新的堆内存空间。直接变换栈空间的引用地址。