Java认证考试

关于String,StringBuilder以及StringBuffer,描述错误的是()。A、对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象B、StringBuffer是线程安全C、StringBuilder是线程安全D、可以修改StringBuilder和StringBuffer的内容

题目

关于String,StringBuilder以及StringBuffer,描述错误的是()。

  • A、对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象
  • B、StringBuffer是线程安全
  • C、StringBuilder是线程安全
  • D、可以修改StringBuilder和StringBuffer的内容
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

第2题:

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来动态构造字符数据。

第3题:

在VB中,以下关于符号常量的声明正确的是 ( )A.Const TAG as StringB.Const TAG as String=&qu

在VB中,以下关于符号常量的声明正确的是 ( )

A.Const TAG as String

B.Const TAG as String="Visual Basic"

C.Public TAG as String="Visual"

D.Dim TAG as String


正确答案:B

第4题:

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

第5题:

对于优化应用程序性能,做法不恰当的是()

  • A、字符串拼接或修改较频繁时,最好使用stringBuilder来代替string。
  • B、在保证应用程序功能正常的情况下,尽量将条件判断放在循环外。
  • C、在与数据库交互时,应该尽可能的使用存储过程以及尽量减少程序与数据库交互的次数。
  • D、在使用控件时,使用web控件越多,性能越好。

正确答案:D

第6题:

String与StringBuffer的区别,以及"+"与append的区别?


正确答案:
         

第7题:

System.String和System.StringBuilder有什么区别?


正确答案:System.String是不可变的字符串。System.StringBuilder存放了一个可变的字符串,并提供一些对这个字符串修改的方法。

第8题:

已知String str=new String ("Luck");,则下列关于str的操作中不合法的是( )。

A.String s=str. toUpperCase()

B.int i=Str. length;

C.char s=str. charAt(2);

D.String s="Good" +str;


正确答案:B
解析:String类中有一个length()方法用于返回字符串的长度。但是在调用这个方法时应采用str. length()的形式,所以选项B不合法。选项A调用toUpperCase ()方法的功能是将字符串转换为大写;选项C调用的charAt ()方法的功能是获取字符串的指定字符,返回值为char类型;选项D中使用的运算符+可以实现字符串的连接操作。

第9题:

下面关于指针用法形式正确的是()

  • A、char*string="helloword";printf("%c",string[1]);
  • B、char*string="helloword";printf("%s",string);
  • C、intstuid=1001,*id;id=&stuid;
  • D、charstusex=’m’,*gander;&stusex=gander;

正确答案:A,B,C

第10题:

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

更多相关问题