/*
* String类的特点:
* 1,Java语言中用于描述最常见的字符串数据的对象。
* 2,字符串数据都是一个对象。
* 3,字符串数据一旦初始化就不可以被改变了。双引号表示的都是字符串常量。
* 4,字符串对象都存储在常量池中。 字符串常量池。
*
*
*/
public class StringDemo {
/**
* @param args
*/
public static void main(String[] args) {
//定义一个字符串。
//String str = "abcd";
String s1 = "abcd";//这时在常量池中创建了一个字符串对象。
//System.out.println(str==s1);//true
String s2 = new String("abcd");//这是在堆内存创建一个String类的对象。并在常量池创建了"abcd"对象。
System.out.println(s1);
System.out.println(s2);
System.out.println(s1==s2);//false
//对于字符串对象的比较,应该用equals方法完成。
//记住,基本数据用==进行比较相同。 对象比较相同都用equals方法。
System.out.println(s1.equals(s2));//String类覆盖了Object中的equals方法,比较的是字符串内容是否相同。
String s3 = "ab"+"cd";
System.out.println(s1==s3);//true.
}
}
问题是字符串和字符之间有啥区别呢,字符就没有equals方法吗,字符之间的比较是??????
|
|