如何在Java中使数组的元素不可变?

2023年 8月 28日 24.6k 0

如何在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[]) {
//Creating a string array
String strArray[] = {"Raju", "Rama", "Rahman", "Rachel", "Ranbhir", "Rangan"};
//Converting the string array to list object
List list = Arrays.asList(strArray);
//Converting the List object to immutable
List 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中使数组的元素不可变?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论