不,你不能讓陣列的元素不可變。
但是,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<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中文網其他相關文章!