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

如何在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"); } }登录后复制