
不,你不能使数组的元素不可变。
但是,java.util.Collections类的unmodifiableList()方法接受一个List接口的对象(实现类的对象)并返回给定对象的不可修改形式。用户只能对获得的列表进行只读访问。
ArrayList类的asList()方法接受一个数组并返回一个List对象。
因此,要将数组转换为不可变的 -
立即学习“Java免费学习笔记(深入)”;
免费 盛世企业网站管理系统(SnSee)系统完全免费使用,无任何功能模块使用限制,在使用过程中如遇到相关问题可以去官方论坛参与讨论。开源 系统Web代码完全开源,在您使用过程中可以根据自已实际情况加以调整或修改,完全可以满足您的需求。强大且灵活 独创的多语言功能,可以直接在后台自由设定语言版本,其语言版本不限数量,可根据自已需要进行任意设置;系统各模块可在后台自由设置及开启;强大且适用的后台管理支
0
获取所需的数组。
使用asList()方法将其转换为列表对象。
将获得的列表作为参数传递给unmodifiableList()方法。
演示
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class UnmodifiableExample {
public static void main(String args[]) {
//Creating a string array
String strArray[] = {"Raju", "Rama", "Rahman", "Rachel", "Ranbhir", "Rangan"};
//Converting the string array to list object
List<String> list = Arrays.asList(strArray);
//Converting the List object to immutable
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)
以上就是如何在Java中使数组的元素不可变?的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号