贡献一个Java 程序 面试题,看不懂为啥。请指教!# JobHunting - 待字闺中
s*e
1 楼
贡献一个Java 程序 面试题,看不懂为啥。请指教!
经运行,输出结果为 8 3 4
而且,我发现如果我修改了byte arr[] = new byte[]{8,3,4,5}; 的数组值,输入也修
改,
总是arr数组值是一致的。高人能给解释一下这个程序是为什么吗?谢谢!
import java.util.Collection;
import java.util.Set;
public class MyClass {
public static void main(String[] args){
byte arr[] = new byte[]{8,3,4,5};
for(final int i: getCharArray(arr))
System.out.print(i +" ");
}
static char[] getCharArray(byte[] arr){
char[] carr = new char[4];
int i=0;
for(byte c:arr){
carr[i] = (char)c++;
i++;
}
return carr;
}
}
经运行,输出结果为 8 3 4
而且,我发现如果我修改了byte arr[] = new byte[]{8,3,4,5}; 的数组值,输入也修
改,
总是arr数组值是一致的。高人能给解释一下这个程序是为什么吗?谢谢!
import java.util.Collection;
import java.util.Set;
public class MyClass {
public static void main(String[] args){
byte arr[] = new byte[]{8,3,4,5};
for(final int i: getCharArray(arr))
System.out.print(i +" ");
}
static char[] getCharArray(byte[] arr){
char[] carr = new char[4];
int i=0;
for(byte c:arr){
carr[i] = (char)c++;
i++;
}
return carr;
}
}