StringBuffer D=new StringBuffer("abc"); D=D.append("567"); 创建了几个对象
时间: 2024-05-28 07:13:43 浏览: 154
在这段代码中,创建了两个对象。首先,创建了一个 StringBuffer 对象,其值为 "abc",然后在调用 append 方法时,又创建了一个新的 StringBuffer 对象,其值为 "abc567",并将其赋值给变量 D。原来的 StringBuffer 对象 "abc" 仍然存在,但是它的值没有改变。
相关问题
1. 以下创建了几个对象 String A,B,C A="a"; B="b": A=A+B; StringBuffer D=new StringBuffer("abc"); D=D.append("567"); A. 6 B. 4 C. 3 D. 5
答案是 D. 5。
首先,创建了三个 String 对象 A、B、C,分别赋值为 "a"、"b" 和 null。然后执行 A=A+B,这时 A 的值为 "ab",B 的值为 "b",C 的值为 null。
接着,创建了一个 StringBuffer 对象 D,它的初始值为 "abc"。然后执行 D=D.append("567"),这时 D 的值为 "abc567"。
最后,计算 A 的长度为 2,B 的长度为 1,C 的长度为 0,D 的长度为 6。因此,答案是 D. 5。
请问执行完下列语句后,str1和str2分别是( )。 StringBuffer str1=new StringBuffer("abc"); StringBuffer str2=str1; str2.append("123"); str1.delete(1,3); A. a和abc123 B. abc和abc123 C. a123和a123 D. 以上都不是
执行完上述代码后,str1和str2都是"a123"。
在第二行代码中,str2被赋值为str1的引用,因此str1和str2指向同一个StringBuffer对象。在第三行代码中,通过str2对这个对象进行操作,将"123"添加到了字符串的结尾,因此此时这个对象的值为"abc123"。在第四行代码中,通过str1对这个对象进行操作,删除了索引为1和2的字符,即"bc",因此最终这个对象的值变为"a123"。由于str1和str2都指向这个对象,因此它们的值都是"a123"。
阅读全文