字符串广泛应用于Java编程中,在Java中字符串属于一种对象,不属于Java的8种基本数据类型。Java提供String类来创建和使用字符串。值得一提的是,String类型的变量在比较时尽量避免使用‘==’操作符,这个操作符比较的是地址,而String类型的变量在定义时,有两种方式:
第一种是String 变量 = "变量值";
例如:
String a = "abc";
String b = "abc";
这种情况下a和b同时指向abc开辟的同一段内存地址。使用==判断是成立的,为真。
第二种是标准的对象实例化方式:String 变量 = new String("变量值");
例如:
String a = new String("abc");
String b = new String("abc");
这种情况下a和b是两个不同的对象实例化,指向不同的内存地址,使用==判断时不成立的,为假。
以上实验的代码片段如下:
public class TestString {
public static void main(String [] args){
String oldstr = "Hello World";
String newstr = "Hello World";
System.out.println(oldstr==newstr);
String oldstr1 = new String("Hello World");
String newstr1 = new String("Hello World");
System.out.println(oldstr1==newstr1);
}
}
运行结果:
true
false