【发布时间】:2017-01-15 09:51:59
【问题描述】:
由于 Strings 对象在 java 中是不可变的,那么这个代码输出如何NOW HEAT,为什么不HOW NEAT?
提前致谢。
class Solution
{
public static void main(String args[])
{
String[] words = {"HOW", "NEAT"};
twist(words);
System.out.println(words[0] + " " + words[1]);
}
public static void twist(String[] w)
{
String temp = w[0].substring(0, 1);
w[0] = w[1].substring(0, 1) + w[0].substring(1);
w[1] = temp + w[1].substring(1);
}
}
【问题讨论】:
-
在 IDE 中运行它...
-
使用调试器找出来
-
字符串是不可变的。您从原件中创建了新的。
-
-
数组引用是不可变的,但它指向的数组不是。您创建了新字符串并让数组指向它们。