函数引用数组的时候,没有改变内部的需求的话,最好使用克隆的办法,否则会造成代码逻辑的混乱:
Topic source补充一下你的方式:
class Score {
private int[] myscores;
public Score(int[] scores) {
this.scores = new int[scores.length];
for(int i=0;i<scores.length;i++) {
myscores[i] = scores[i];
}
}
public void printScores() {
System.out.println(Arrays.toString(myscores));
}
}
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] scores = new int[] { 88, 77, 51, 66 };
Score s = new Score(scores);
s.printScores();
scores[2] = 99;
s.printScores();
}
}
class Score {
private int[] scores;
public Score(int[] scores) {
this.scores = scores.clone();
}
public void printScores() {
System.out.println(Arrays.toString(scores));
}
}
clone不香吗
- 1
王日天95