我想详细了解Enhanced For循环如何在Java中工作(假设我知道该循环的基本用法以及它如何工作) 。Java增强For循环 - 编辑原始数组值
考虑下面的代码:
String[] a = {"dog", "cat", "turtle"};
for (String s : a) {
out.println("String: " + s);
s = in.readLine("New String? ");
}
它实际上并没有修改原始列表 'A'。 为什么不呢?内存管理如何工作?对'a [i]'的同一个存储单元的引用不是'吗?
我在oracle文档上看到,增强for循环无法用于从原始数组中删除元素,这很有道理。修改值是否相同?
预先感谢
字符串是不可变的。http://stackoverflow.com/a/8798424/112500 – Shashi
's'是一个变量,它包含对容器元素的引用。 –