Java コレクションの不変サイズ例外 (ImmutableSizeException) を解決するソリューション
Java コレクションを使用すると、不変サイズ例外 (ImmutableSizeException) が発生することがあります。この例外は通常、コレクションのサイズを変更しようとしたときに発生しますが、コレクションは不変として事前定義されています。この記事では、この問題に対するいくつかの解決策を紹介し、対応するコード例を示します。
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"); } }
どのソリューションを選択する場合でも、特定のニーズとシナリオに基づいて決定する必要があります。コレクション データを変更せずに読み取るだけでよい場合は、不変コレクションを選択することをお勧めします。コレクションのサイズを頻繁に変更する必要がある場合は、可変コレクションの方が便利です。さらに、スレッドの安全性を確保するために、マルチスレッド環境でのコレクションの操作にも注意を払う必要があります。
概要:
上記の解決策を通じて、Java コレクション サイズ不変例外 (ImmutableSizeException) の問題を効果的に解決し、プログラムの信頼性と安定性を向上させることができます。
以上がJava コレクション サイズ不変例外 (ImmutableSizeException) の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。