意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

java语言基础(54)——变量字符串拼接和常量字符串拼接的区别

来源:恒创科技 编辑:恒创科技编辑部
2024-01-23 00:21:59


以下测试基于:

(1)== 在比较引用类型的数据时,比较的是其地址值


java语言基础(54)——变量字符串拼接和常量字符串拼接的区别

(2)字符串常量在内存中,只会存在一份。



class StringDemo
{
public static void main(String[] args){
String s1 = "hello";
String s2 = "world";
String s3 = "helloworld";

System.out.println(s3==s1+s2); //false
System.out.println(s3=="hello"+"world");//true
}
}


由以上代码输出结果我们可以看到,变量字符串拼接和常量字符串拼接结果是不一样的。那是因为变量字符串拼接是先开辟空间,然后再拼接。这样的话,s3 与 s1+s2 的地址值是不一样的。

而常量字符串拼接是先拼接完再与其它变量比较。所以s3与"hello"+"world"比较就相当于与"helloworld"比较,其地址值自然相等。

上一篇: java语言基础(56)——String和StringBuffer互转 下一篇: 手机怎么远程登录云服务器?