String字符串是不变对象,内容一旦创建不可改变,若改变一定会创建新对象
程序员文章站
2022-06-20 08:52:16
package seday01;/** * 字符串是不变对象,内容一旦创建不可改变,若改变一定会创建新对象* @author xingsir */public class stringDemo { public static void main(String[] args) { String s1= ......
package seday01;
/**
* 字符串是不变对象,内容一旦创建不可改变,若改变一定会创建新对象
* @author xingsir
*/
public class stringdemo {
public static void main(string[] args) {
string s1="hello java";
string s2="hello java";
system.out.println(s1==s2);//true
string s3="hello java";//true
system.out.println(s1==s3);//true
s1=s1+"!!!";//当s1修改内容时会创建新对象
system.out.println("s1:"+s1);//此时输出为s1:hello java!!!
system.out.println("s2:"+s2);//输出:s2:hello java
system.out.println(s2==s3);//true
system.out.println(s1==s2);//false
/*
* new创建的字符串对象并不会重用
*/
string s4= new string("hello java");
system.out.println(s4);//hello java
system.out.println(s2==s4);//false
system.out.println(s2.equals(s4));//true
}
}