编译并运行下面的程序,其结果是什么?
public class MyClass {
public static void main(String[] args) {
String str1 = "str1";
String str2 = "str2";
String str3 = "str3";
str1.concat(str2);
System.out.println(str3.concat(str1));
}
}
请选择正确的答案。
(A)代码不能通过编译,因为表达式str3.concat(str1)不是println()函数的合法参数。
(B)程序在运行时将会打印str3str1str2。
(C)程序在运行时将会打印str3。
(D)程序在运行时将会打印str3str1。
(E)程序在运行时将会打印str3str2
===========================================================
答案是 D 。
解析
考点:考查求职者对Java的String类的掌握
String类的concat()方法的作用就是将当前的String对象和参数的String对象串联起来,并返回一个新的字符串对象。
面试中虽然使用了str1.concat(str2),但是并没有改变对象的引用,所以输出的字符串就是str3.concat(str1),即"str3str1"。