5、 写出以下代码执行结果,分析为什么?(没有分析结果不得分)
public class Test {
public static void main(String[] args) {
String s = "abc";
s.substring(1);
s.replace("bc", "xyz");
System.out.println(s);
String value = new String ("abc");
System.out.println(s == value);
}
}
答案:
运行结果为:
abc
false
分析:
字符串一旦初始化就不会再改变,s.substring()和s.replace("bc","xyz")均返回一个新的字符串,
并未改变s的内容,所以输出的仍然是abc.
==比较的是字符串s和value的地址值,他们是两个不同的对象,在内存中的地址值是不同的,所以打
印结果是false.
|
|