Maison  >  Article  >  Java  >  En Java 9, comment créer une liste immuable ?

En Java 9, comment créer une liste immuable ?

PHPz
PHPzavant
2023-08-20 11:49:171312parcourir

在Java 9中,我们如何创建一个不可修改的列表?

Une liste est considérée comme une liste immuable si, après avoir créé une instance de la liste non modifiable, il n'est pas possible d'ajouter, supprimer ou remplacerdes éléments de la liste. Méthode d'usine statique : List.of() fournit un moyen pratique de créer des listes non modifiables dans Java 9.

L'instance de liste créée à l'aide de la méthode List.of() présente les caractéristiques suivantes.

  • La liste renvoyée par une méthode d'usine est généralement immuable. Cela signifie qu'il n'est pas possible d'ajouter , de de supprimer ou de de remplacer des éléments de la liste. L’appel de n’importe quelle méthode modifier sur une liste générera une UnsupportedOperationException.
  • Si les éléments contenant la liste sont
  • mutables, cela peut entraîner une modification du contenu de la liste.
  • Des listes immuables peuvent être créées à l'aide de méthodes d'usine statiques qui n'autorisent pas les
  • éléments nuls. Si vous essayez de créer une liste avec des éléments nuls, une NullPointerException sera levée.
  • Une liste non modifiable est
  • sérialisable si tous les éléments sont sérialisables.
  • L'ordre des éléments dans la liste est le même que l'ordre des paramètres fournis ou l'ordre des éléments dans le tableau fourni. La traduction chinoise de
Grammar

<strong>List.of(E... elements)</strong>

Example

est :

Example

import java.util.List;
public class UnmodifiedListTest {
   public static void main(String[] args) {
<strong>      List<String></strong> countries = <strong>List.of</strong>("India", "Australia", "England", "Newzealand");
      System.out.println("Countries - " + countries);
      countries.add("Srilanka"); <strong>// throws UnsupportedOperationException</strong>
   }
}

Output

<strong>Countries - [India, Australia, England, Newzealand]
Exception in thread "main" java.lang.UnsupportedOperationException
 at java.base/java.util.ImmutableCollections.uoe(Unknown Source)
 at java.base/java.util.ImmutableCollections$AbstractImmutableList.add(Unknown Source)
 at UnmodifiedListTest.main(UnmodifiedListTest.java:7)</strong>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer