Solution à l'exception de taille immuable de la collection Java (ImmutableSizeException)
Lors de l'utilisation des collections Java, vous rencontrerez parfois une exception de taille immuable (ImmutableSizeException). Cette exception se produit généralement lorsque vous essayez de modifier la taille d'une collection, mais la collection a été prédéfinie comme immuable. Cet article présentera plusieurs solutions à ce problème et donnera des exemples de code correspondants.
import com.google.common.collect.ImmutableList; public class ImmutableCollectionExample { public static void main(String[] args) { ImmutableList<String> names = ImmutableList.of("Alice", "Bob", "Charlie"); // 尝试修改集合大小,将会抛出UnsupportedOperationException异常 names.add("David"); } }
import java.util.ArrayList; import java.util.List; public class CopyCollectionExample { public static void main(String[] args) { List<String> names = new ArrayList<>(); names.add("Alice"); names.add("Bob"); names.add("Charlie"); // 创建副本进行操作 List<String> updatedNames = new ArrayList<>(names); updatedNames.add("David"); // 将结果赋值给原始集合 names = updatedNames; } }
import java.util.ArrayList; import java.util.List; public class MutableCollectionExample { public static void main(String[] args) { List<String> names = new ArrayList<>(); names.add("Alice"); names.add("Bob"); names.add("Charlie"); // 修改集合大小 names.add("David"); } }
Peu importe la solution que vous choisissez, elle doit être décidée en fonction de vos besoins et scénarios spécifiques. Si vous avez uniquement besoin de lire les données de la collection sans les modifier, les collections immuables constituent un meilleur choix. Si la taille de la collection doit être modifiée fréquemment, les collections mutables sont plus pratiques. De plus, nous devons également prêter attention au fonctionnement des collections dans un environnement multithread pour garantir la sécurité des threads.
Résumé :
Grâce aux solutions ci-dessus, vous pouvez résoudre efficacement le problème de l'exception immuable de taille de collection Java (ImmutableSizeException) et améliorer la fiabilité et la stabilité du programme.
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!