Java程序设计

单选题关于 String、StringBuffer 和 StringBuilder 说法错误的是()A String 创建的字符串是不可变的B StringBuffer 创建的字符串是可变的,而所引用的地址一直不变C StringBuffer 是线程安全的,因此性能比 StringBuilder 好D StringBuilder 没有实现线程安全,因此性能比 StringBuffer 好

题目
单选题
关于 String、StringBuffer 和 StringBuilder 说法错误的是()
A

String 创建的字符串是不可变的

B

StringBuffer 创建的字符串是可变的,而所引用的地址一直不变

C

StringBuffer 是线程安全的,因此性能比 StringBuilder 好

D

StringBuilder 没有实现线程安全,因此性能比 StringBuffer 好

参考答案和解析
正确答案: A
解析: 暂无解析
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

String 字符串常量,StringBuffer 字符串变量(线程安全),StringBuilder 字符串变量(非线程安全)


正确答案:
简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢的。
而如果是使用 StringBuffer 类则结果就不一样了,每次结果都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,再改变对象引用。所以在一般情况下我们推荐使用 StringBuffer ,特别是字符串对象经常改变的情况下。而在某些特别情况下, String 对象的字符串拼接其实是被 JVM 解释成了 StringBuffer 对象的拼接,所以这些时候 String 对象的速度并不会比 StringBuffer 对象慢,而特别是以下的字符串对象生成中, String 效率是远要比 StringBuffer 快的: 3、String 和StringBuffer的区别?
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。

第2题:

提供长度可变字符串对象的表示的类是( )。

A.String类

B.StringBuffer类

C.Stringinput类

D.StringOutput类


正确答案:B

第3题:

Which two scenarios are NOT safe to replace a StringBuffer object with a StringBuilder object?()

A.When using versions of Java technology earlier than 5.0.

B.When sharing a StringBuffer among multiple threads.

C.When using the java.io class StringBufferInputStream.

D.When you plan to reuse the StringBuffer to build more than one string.


参考答案:A, B

第4题:

下列关于String类和stringBuffer类说法正确的有()。

  • A、String类是不可变类,一个String对象所包含的字符串内容永远不会被改变
  • B、如果对字符串中的内容经常进行操作,特别是内容要修改时,应使用StringBuffer
  • C、StringBuffer类是可变类,一个StringBuffer对象所包含的字符串内容可以被添加或修改
  • D、字符串缓冲区支持可变的字符串

正确答案:A,B,C,D

第5题:

public class TestString3 {  public static void main(String[] args) {  // insert code here  System.out.println(s);  }  }  Which two code fragments, inserted independently at line 3, generate the output 4247?()

  • A、 String s = “123456789”; s = (s-”123”).replace(1,3,”24”) - “89”;
  • B、 StringBuffer s = new StringBuffer(”123456789”); s.delete(0,3).replace( 1,3, “24”).delete(4,6);
  • C、 StringBuffer s = new StringBuffer(”123456789”); s.substring(3,6).delete( 1 ,3).insert(1, “24”);
  • D、 StringBuilder s = new StringBuilder(”123456789”); s.substring(3,6).delete( 1 ,2).insert( 1, “24”);
  • E、 StringBuilder s = new StringBuilder(”123456789”); s.delete(0,3).delete( 1 ,3).delete(2,5).insert( 1, “24”);

正确答案:B,E

第6题:

下列关于字符串的描叙中错误的是( )

A、字符串是对象

B、String对象存储字符串的效率比StringBuffer高

C、可以使用StringBuffersb="这里是字符串"声明并初始化StringBuffer对象sb

D、String类提供了许多用来操作字符串的方法:连接,提取,查询等


正确答案:BC

第7题:

Whichtwo scenarios are NOT safe to replace a StringBuffer object with a StringBuilder object?()

  • A、When using versions of Java technology earlier than 5.0.
  • B、When sharing a StringBuffer among multiple threads.
  • C、When using the java.io class StringBufferInputStream.
  • D、When you plan to reuse the StringBuffer to build more than one string.
  • E、Enitiation of separate design processes to the separation of users

正确答案:A,B

第8题:

下列关于字符串的叙述错误的是( )。

A.创建String类的字符串对象后,字符串所代表的内容根据情况可改变

B.字符串可以使用java.lang.String和java.lang.StringBuffer来定义

C.StringBuffer用来处理长度可变的字符串

D.在Java语言中,字符串是作为对象来处理的


正确答案:A
解析:String类是Java中的常量类,一旦用String创建了一个字符串对象,该字符串所代表的文本就不能改变了。

第9题:

String与StringBuffer的区别()。

  • A、String是不可变的对象,StringBuffer是可以再编辑的
  • B、String是常量,StringBuffer是变量
  • C、String是可变的对象,StringBuffer是不可以再编辑的
  • D、以上说法都不正确

正确答案:A,B

第10题:

关于 String、StringBuffer 和 StringBuilder 说法错误的是()

  • A、String 创建的字符串是不可变的
  • B、StringBuffer 创建的字符串是可变的,而所引用的地址一直不变
  • C、StringBuffer 是线程安全的,因此性能比 StringBuilder 好
  • D、StringBuilder 没有实现线程安全,因此性能比 StringBuffer 好

正确答案:B

更多相关问题