【发布时间】:2017-11-20 19:10:22
【问题描述】:
那是代码:
import java.util.Arrays;
import java.util.List;
public class Test {
public static void main(String[]args) {
changeList();
System.out.println(Arrays.toString(example().toArray()));
}
public static void changeList() {
example().set(2, "Hi!");
}
public static List<String> example () {
String str = new String("word1|word2|word3|word4|word5");
return Arrays.asList(str.split("\\|"));
}
}
我希望 ArrayList 是这样的:[word1, word2, Hi!, word4, word5]
但它并没有改变......它打印[word1, word2, word3, word4, word5]
甚至有可能以这种方式改变它吗? 提前致谢!
【问题讨论】:
-
将 example() 的返回值移动到一个变量中......
-
它对我有用。 “它不会改变”是什么意思?你能提供一个完整的运行示例来说明问题吗?
-
请举一个完整的例子。您应该包含一个
main()方法,该方法调用此example()方法,然后执行您想要的任何其他操作。还添加System.out.println()调用并显示结果。然后解释你希望你的程序做些什么不同的事情。 -
发布完整代码。通常设置这样的项目会起作用。很明显,您错过了引入错误的代码的关键部分。
-
您正在创建 2 个列表。首先修改,但打印一个完全不同的。