Lösung für die Ausnahme der unveränderlichen Größe einer Java-Sammlung (ImmutableSizeException)
Bei der Verwendung von Java-Sammlungen kann es vorkommen, dass Sie auf eine Ausnahme der unveränderlichen Größe einer Java-Sammlung (ImmutableSizeException) stoßen. Diese Ausnahme tritt normalerweise auf, wenn versucht wird, die Größe einer Sammlung zu ändern, die Sammlung jedoch als unveränderlich vordefiniert wurde. In diesem Artikel werden verschiedene Lösungen für dieses Problem vorgestellt und entsprechende Codebeispiele gegeben.
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"); } }
Egal für welche Lösung Sie sich entscheiden, die Entscheidung sollte auf der Grundlage Ihrer spezifischen Bedürfnisse und Szenarien getroffen werden. Wenn Sie die Sammlungsdaten nur lesen müssen, ohne sie zu ändern, sind unveränderliche Sammlungen die bessere Wahl. Wenn die Sammlungsgröße häufig geändert werden muss, sind veränderbare Sammlungen praktischer. Darüber hinaus müssen wir auch auf den Betrieb von Sammlungen in einer Multithread-Umgebung achten, um die Thread-Sicherheit zu gewährleisten.
Zusammenfassung:
Durch die oben genannten Lösungen können Sie das Problem der unveränderlichen Ausnahme der Java-Sammlungsgröße (ImmutableSizeException) effektiv lösen und die Zuverlässigkeit und Stabilität des Programms verbessern.
Das obige ist der detaillierte Inhalt vonLösung für die unveränderliche Ausnahme der Java-Sammlungsgröße (ImmutableSizeException). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!