好的,所以我试图向朋友解释下面问题的答案,但我不知道怎么做。我知道过程方法并没有改变,答案是ABCD(s没有改变),但我不知道为什么。是因为字符串是不可变的吗?我的朋友认为应该是CBA。有什么帮助吗?
public void process(String s)
{
s = s.substring(2, 3) + s.substring(1, 2) + s.substring(0, 1);
}
执行以下语句(在同一类中的方法中)打印的内容是什么?
String s = “ABCD”;
process(s);
System.out.println(s);
答案 0 :(得分:0)
您正在为变量s
分配新值。这不会更改传递给s
方法的process()
的值,因此程序会打印
ABCD
答案 1 :(得分:0)
您可以重写您的方法,例如:
public static String process(String s)
{
return s.substring(2, 3) + s.substring(1, 2) + s.substring(0, 1);
}
然后你可以像这样使用它:
String s = "ABCD";
s = process(s);
System.out.println(s);