欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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
}

}