public String reverseWords(String s) {
for(int i = 0;i<split.length;i++){
char[] chars = split[i].toCharArray();
int start = 0,end=chars.length-1;
while(start < end){
char temp = chars[start];
chars[start] = chars[end];
chars[end] = temp;
start++;
end--;
}
split[i] = String.valueOf(chars);
}
}
这样可以将更改后的值赋值给String[] split,但是如果foreach用
for(String st:split){
...
st = String.valueOf(chars);
是不可以的,st还是未更改的,这是为什么? st是变了的,st只是对象的引用,存在栈上的,赋值给它它头也不会就指向别的String对象了