标签:
JAVA中String类型赋值,例如:String s1="a",String s2="a",两个String 的赋值内容相同,则相当于两个对象引用了相同的内存地址所以s1==s2的输出是true。而当s1+"b"之后相当于重新创建了一个对象,地址发生改变,则改变之后s1==s2会输出false。对于是s1=="ab",输出false很正常,常量与对象类型都不同。但是在使用String.equals()函数之后比较的是内容,就会输出true。
String赋值相同就相当于对同一对象的引用,第一个输出true。JAVA中字符串之间的+就相当于连接字符,连接之后内容相同就是同一对象,则会输出true。第三个输出false是因为创建了两个对象,相当于两个对象的"=="自然输出false。
标签:
原文地址:http://www.cnblogs.com/dotacai/p/4895976.html