字符串类的介绍
<1>字符串基本上时数据保存,传输,处理非常重要的一种手段;
<2>String解析过程繁琐,需要掌握熟记很多方法;同时需要有一定的技巧和灵性;
<3>String字符串类型是java中引用数据类型,并且String类型是使用final修饰,没有自己的子类;
<4>字符串存储是一个非常个性的事,分两种情况;
①
在内存的数据区
;
②在内存的堆区
;
<5>字符串是一个常量,字符串确定后无法修改;
如何比较两个字符串?
class Member {
public static void main(String[] args) {
String xiaoName = new String("小哈");
String haName = xiaoName;
//打印结果 true 【原因】== 用来比较的是两个变量的值;
// 在这里变量xiaoName,haName都是存储的空间首地址,这个时候其实他们的首地址相同;
//所以为true
System.out.println(xiaoName==haName);
String xiaoName2 = new String("小哈");
//打印结果 false 【原因】 在这里String 的value值相同,但是因为是引用型数据
//所以 他们是两个不同的对象,也是两个不同的空间首地址
//所以 他们两个变量的值不相等,所以返回false
System.out.println(xiaoName == xiaoName2);
//所以使用 == 用来比较字符串是不可以的 ,那么该如何进行比较呢???
//java中规定使用equals来比较字符串
//【问题】但是这里equals也是用来比较引用型数据变量的空间首地址的,这里为什么也可以进行比较String 的value
//【原因】String 的equals方法也进行了之前的equals()方法重写,可以用来比较value;
//打印结果 true
System.out.println(xiaoName.equals(xiaoName2));
}
}