入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2017-05-28 投稿人: 浏览次数:1884

以下测试基于:

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

(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"比较,其地址值自然相等。

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。