java字符串面试题及答案.doc
java字符串面试题及答案
一、单项选择题(每题2分,共10题)
1.在Java中,以下哪种方式创建的字符串存储在字符串常量池中?
A.Strings=newString(abc);
B.Strings=abc;
C.StringBuildersb=newStringBuilder(abc).toString();
D.StringBuffersb=newStringBuffer(abc).toString();
答案:B
2.对于字符串abc,以下哪个方法可以获取字符b?
A.charAt(1)
B.charAt(2)
C.getChar(1)
D.getChar(2)
答案:A
3.以下关于Java字符串不可变性的说法正确的是?
A.字符串对象创建后就不能修改其内容。
B.可以通过反射修改字符串内容。
C.可以直接修改字符串中的某个字符。
D.字符串的不可变性是指不能重新赋值。
答案:A
4.以下代码的输出结果是什么?
Strings1=abc;
Strings2=abc;
System.out.println(s1==s2);
A.false
B.true
C.编译错误
D.运行时错误
答案:B
5.若要连接多个字符串,效率较高的是使用?
A.+操作符
B.String.concat()方法
C.StringBuilder.append()方法
D.StringBuffer.append()方法
答案:C
6.以下哪个方法可以判断一个字符串是否以另一个字符串开头?
A.startsWith()
B.beginWith()
C.isStart()
D.startIs()
答案:A
7.对于字符串hello,以下哪个方法可以去除两端的空白字符?
A.trim()
B.cut()
C.remove()
D.clear()
答案:A
8.以下关于StringBuilder和StringBuffer的说法错误的是?
A.StringBuffer是线程安全的。
B.StringBuilder不是线程安全的。
C.StringBuilder的性能比StringBuffer高。
D.StringBuffer和StringBuilder都可以直接修改自身内容。
答案:D
9.字符串abcdef的长度是?
A.5
B.6
C.7
D.8
答案:B
10.以下代码执行后,s的内容是什么?
Strings=abc;
s=s+def;
A.abcdef
B.abc
C.def
D.编译错误
答案:A
二、多项选择题(每题2分,共10题)
1.以下哪些是Java中操作字符串的类?
A.String
B.StringBuilder
C.StringBuffer
D.CharSequence
答案:ABCD
2.关于Java字符串的比较,以下哪些方法可以使用?
A.equals()
B.==
C.compareTo()
D.hashCode()
答案:ABC
3.以下哪些操作会创建新的字符串对象?
A.对字符串进行连接操作(如s1+s2)。
B.调用substring()方法。
C.调用trim()方法。
D.调用replace()方法。
答案:ABD
4.以下关于StringBuilder的说法正确的是?
A.可以通过append方法添加各种类型的数据。
B.有reverse方法用于反转字符串。
C.是可变的字符串类。
D.线程安全。
答案:ABC
5.以下哪些方法可以将字符串转换为字节数组?
A.getBytes()
B.toByteArray()
C.byteValue()
D.没有这样的方法。
答案:A
6.对于字符串abcabc,以下哪些方法可以获取子字符串bc?
A.substring(1,3)
B.substring(2,4)
C.sub(1,3)
D.sub(2,4)
答案:A