你可以会建议:
public static final String[] STR_LIST =
{ "VIEW1", "VIEW2"};但是,其实STR_LIST的内容,还不是常量,
即我还是可以改变STR_LIST数组里的内容
如STR_LIST[0] = "VIEW3"; 是允许的那么,怎么才能定义正真的常量数组呢?它的元素都不能被修改?
public static final String[] STR_LIST =
{ "VIEW1", "VIEW2"};但是,其实STR_LIST的内容,还不是常量,
即我还是可以改变STR_LIST数组里的内容
如STR_LIST[0] = "VIEW3"; 是允许的那么,怎么才能定义正真的常量数组呢?它的元素都不能被修改?
{ "VIEW1", "VIEW2"}; final 就是指常量!
static 指的是类变量!
但是 STR_LIST[0] 可以。可以用枚举型达到LZ的目的。或者用 getString(int index)
除非像楼上说的,自己写个类然后维护里面的数组,或者用枚举enum
private static final String[] STR_LIST = { "VIEW1", "VIEW2"};
public static String[] getArray(){
return STR_LIST;
}
}
用的时候直接
String[] STR_LIST = FinalArray.getArray();
对于public static final String[] STR_LIST = { "VIEW1", "VIEW2"};
只是说STR_LIST这个引用只能指向{ "VIEW1", "VIEW2"}这个对象,但并没限制该对象不能更改,只是限定该引用不能指向其他对象而已
List<Integer> l = Collections.unmodifiableList(new ArrayList<Integer>());
l.add(1); // 该行抛出UnsupportedOperationException运行时异常
enum