Maison  >  Article  >  Java  >  Comment créer un ensemble immuable en Java 9 ?

Comment créer un ensemble immuable en Java 9 ?

王林
王林avant
2023-08-20 17:57:281383parcourir

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

La méthode de fabrique statique immuable Set.of() peut fournir un moyen pratique de créer des collections immuables en Java 9.

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

  • Les collections renvoyées par les méthodes d'usine sont généralement immuables. Cela signifie que ne peut pas être ajouté à la collection, supprimé ou remplacé éléments. L’appel de n’importe quelle méthode modifier sur une collection lancera une UnsupportedOperationException.
  • Si les éléments de la collection sont mutables, le contenu de la collection peut sembler changer. Des
  • Collections immuables peuvent être créées à l'aide de méthodes d'usine statiques qui n'autorisent pas les éléments null. Si vous essayez de créer une collection avec des éléments nuls, une NullPointerException sera levée.
  • Lors de la création de collections immuables, les
  • éléments en double sont rejetés. La transmission d'éléments en double à une méthode de fabrique statique entraîne une IllegalArgumentException.
  • L'ordre d'itération des éléments de la collection est
  • non spécifié et peut changer. La traduction chinoise de
Grammar

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

Example

est :

Example

import java.util.Set;
public class SetOfMethodTest {
   public static void main(String args[]) {
      Set<String> names = <strong>Set.of</strong>("Adithya", "Bhavish", "Chaitanya", "Jai");
      System.out.println("Names - " + names);
      names.add("Raja");       <strong>// throws UnsupportedOperationException</strong>
   }
}

Output

<strong>Names - [Bhavish, Adithya, Jai, Chaitanya]
</strong><strong>Exception in thread "main" java.lang.UnsupportedOperationException
 at java.base/java.util.ImmutableCollections.uoe(Unknown Source)
 at java.base/java.util.ImmutableCollections$AbstractImmutableSet.add(Unknown Source)
   at SetOfMethodTest.main(SetOfMethodTest.java:8)</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