Googled cho nó, tìm thấy rất nhiều mã. Nhưng bất kỳ người trong số họ đã cho tôi những gì tôi muốn. Tôi muốn tạo một mảng bình thường Không thể thay đổi. Tôi đã thử điều này:Có cách nào để tạo một mảng thông thường bất biến trong Java không?
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class test {
public static void main(String[] args) {
final Integer array[];
List<Integer> temp = new ArrayList<Integer>();
temp.add(Integer.valueOf(0));
temp.add(Integer.valueOf(2));
temp.add(Integer.valueOf(3));
temp.add(Integer.valueOf(4));
List<Integer> immutable = Collections.unmodifiableList(temp);
array = immutable.toArray(new Integer[immutable.size()]);
for(int i=0; i<array.length; i++)
System.out.println(array[i]);
array[0] = 5;
for(int i=0; i<array.length; i++)
System.out.println(array[i]);
}
}
Nhưng nó không hoạt động, tôi có thể gán 5 thành mảng [0] ... Có cách nào để làm cho mảng này không thay đổi được không?
http://stackoverflow.com/questions/3700971/immutable-array-in-java –
Không giống như C, bạn không thể. Tuy nhiên bạn có thể sử dụng một wrapper. – johnchen902
Làm cho bạn biến mảng cuối cùng chỉ ngăn cản việc gán một mảng mới cho nó. Theo như tôi biết không có cách nào để làm cho nó là giá trị cuối cùng. –