下列程序代码段,运行的输出结果为( )

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'。
  • s2s1.replace() 方法的返回值,它指向一个新的 StringBuffer 对象,该对象包含替换后的内容。
  • s1.equals(s2) 比较的是 s1s2 的内容,因为它们的内容不同,所以结果为 false
  • s1 == s2 比较的是 s1s2 的引用,它们指向不同的对象,所以结果为 true
Java StringBuffer replace() 方法示例:比较 s1 和 s2 的值和引用

原文地址: https://www.cveoy.top/t/topic/oFg2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录