Java StringBuffer replace() 方法示例:比较 s1 和 s2 的值和引用
下列程序代码段,运行的输出结果为( )
StringBuffer s1 = new StringBuffer('123456');
StringBuffer s2 = s1.replace(2, 3, '111');
System.out.print(s1.equals(s2) + " ");
System.out.println(s1 == s2);
A、false false B、true false C、false true D、true true
答案:C、false true
解释:
s1.replace(2, 3, '111')方法将s1中从索引 2 开始(包含索引 2)到索引 3 结束(不包含索引 3)的字符替换为 '111'。因此,s1的内容变为 '111456'。s2是s1.replace()方法的返回值,它指向一个新的StringBuffer对象,该对象包含替换后的内容。s1.equals(s2)比较的是s1和s2的内容,因为它们的内容不同,所以结果为false。s1 == s2比较的是s1和s2的引用,它们指向不同的对象,所以结果为true。
原文地址: https://www.cveoy.top/t/topic/oFg2 著作权归作者所有。请勿转载和采集!