2
使用java,有没有办法将数组中的某些值设置为static/uneditable?我试图制作一个数独游戏,所以我想要设置初始数字以便程序不能改变它们,但其他数字是可以改变的。到目前为止,我已经做了一些Google搜索,但我的搜索没有提供任何相关信息。将数组值设置为静态
使用java,有没有办法将数组中的某些值设置为static/uneditable?我试图制作一个数独游戏,所以我想要设置初始数字以便程序不能改变它们,但其他数字是可以改变的。到目前为止,我已经做了一些Google搜索,但我的搜索没有提供任何相关信息。将数组值设置为静态
您必须隐藏该数组,使其变为私有。永远不会将引用返回给数组,而是返回一个克隆。
例如
public class ArrayHolder {
private String[] array;
public ArrayHolder(String[] inputArray) {
//make a copy of inputArray
//assign the reference to the copy to this.array
}
public String[] getArray() {
//make a copy of the array
//return the reference to the copy
}
}
至于使一些元件可更新,则必须在类写赋值函数方法(一个或多个),因此,只有那些方法可以改变阵列中的某些元件。
这来自你的课堂设计。用访问器方法保护数据。 – vikingsteve 2013-02-25 19:19:43
这是不可能的数组,但你可以设计你自己的类,并确保某些字段不能被编辑。 – Ankit 2013-02-25 19:21:18
无法将数组中的任何或所有元素标记为“只读”。您可以做的最好的方法是在方法调用后面“隐藏”数组。你可以在数组的引用上使用'final',但这只会使它(不)有可能改变引用哪个数组 - 它不会阻止修改数组。 – 2013-02-25 19:22:13