当使用for循环使用(element:collection)使用for循环进行收集时,我对数据所做的更改仅在循环期间保持不变。
这是我的代码:
String[] names = {"bob", "fred", "marcus", "robert", "jack", "steve", "nathan", "tom", "freddy", "sam"};
for(String indexData : names)
{
indexData = indexData.toUpperCase();
System.out.println(indexData);
}
System.out.println("this is word 5 in the array: " + names[4]);
输出:
BOB
FRED
MARCUS
ROBERT
JACK
STEVE
NATHAN
TOM
FREDDY
SAM
this is word 5 in the array: jack
我的问题是使用这种类型的循环如何进行永久更改?
最佳答案
您不能使用增强的循环来做到这一点。您需要使用传统的for循环。indexData = indexData.toUpperCase();
仅更改局部变量indexData
,这不会影响您的数组元素。
以下Traditional for loop
将更改您的数组
String[] names = {"bob", "fred", "marcus", "robert", "jack", "steve", "nathan", "tom", "freddy", "sam"};
for(int i=0;i<names.length;i++) {
names[i]= names[i].toUpperCase();
System.out.println(indexData);
}
System.out.println("this is word 5 in the array: " + names[4]);