如何使数组元素在Java中不可变?
不,您不能使数组的元素不变。
但是java.util.Collections类的unmodifiableList()方法接受List接口的一个对象(实现其类的对象),并返回给定对象的不可修改形式。用户仅对获得的列表具有只读访问权限。
ArrayList类的asList()方法接受一个数组并返回一个List对象。
因此,要转换一个不可变的数组-
获得所需的数组。
使用asList()方法将其转换为列表对象。
将获得的列表作为参数传递给unmodifiableList()方法。
示例
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class UnmodifiableExample {
public static void main(String args[]) {
//创建一个字符串数组
String strArray[] = {"Raju", "Rama", "Rahman", "Rachel", "Ranbhir", "Rangan"};
//将字符串数组转换为列表对象
List<String> list = Arrays.asList(strArray);
//将List对象转换为不可变
List<String> immutable = Collections.unmodifiableList(list); System.out.println(immutable);
immutable.add("komala");
}
}输出结果
[Raju, Rama, Rahman, Rachel, Ranbhir, Rangan] Exception in thread "main" java.lang.UnsupportedOperationException at java.util.Collections$UnmodifiableCollection.add(Unknown Source) at September19.UnmodifiableExample.main(UnmodifiableExample.java:19)
热门推荐
6 送大三祝福语简短
10 中秋祝福语简短有深度
11 音乐生祝福语大全简短
12 长春防疫祝福语大全简短
13 业主群文案祝福语简短
14 古文毕业赠言祝福语简短
15 祝福语2026简短对家人
16 喝酒祝福语大全简短新颖
17 自己办酒祝福语简短
18 厨房祝福语简短100句