Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでIllegalStateException(チェックされていない)がスローされるのはいつですか?


IllegalStateException 未チェックです 例外 Javaで。この例外は、主に java.util.packageのコレクションフレームワークを処理している場合にJavaプログラムで発生する可能性があります。 。 リスト、キュー、ツリー、のような多くのコレクションがあります 地図 そのうちリスト およびキュー (キューと両端キュー)この IllegalStateExceptionをスローします 特定の条件で。

IllegalStateExceptionがスローされるのはいつですか

  • IllegalStateExceptionexception 不適切なタイミングで特定のメソッドを呼び出そうとすると、スローされます。
  • java.util.Listの場合 コレクションでは、 next()を使用します リストのメソッド イテレータ java.util.List。をトラバースするためのインターフェース remove()を呼び出すと ListIteratorのメソッド next()を呼び出す前のインターフェース メソッドの場合、リストを残すため、この例外がスローされます。 不安定なのコレクション 状態
  • 特定のオブジェクトを変更する場合は、 set()を使用します ListIteratorのメソッド インターフェイス
  • キューの場合 、キューに要素を追加しようとした場合 、次に、キューがいっぱいになっていないことを確認する必要があります。このキューがいっぱいの場合、その要素を追加できません。その場合、 IllegalStateExceptionexceptionが発生します。 投げられる。

import java.util.*;
public class IllegalStateExceptionTest {
   public static void main(String args[]) {
      List list = new LinkedList();
      list.add("Welcome");
      list.add("to");
      list.add("Tutorials");
      list.add("Point");
      ListIterator lIterator = list.listIterator();
      lIterator.next();
      lIterator.remove();// modifying the list
      lIterator.set("Tutorix");
      System.out.println(list);
   }
}

出力

Exception in thread "main" java.lang.IllegalStateException
        at java.util.LinkedList$ListItr.set(LinkedList.java:937)
        at IllegalStateExceptionTest.main(IllegalStateExceptionTest.java:15)

  1. Javaループスルーリスト

    このチュートリアルでは、JavaでArrayListを反復処理できる5つの異なる方法を見ていきます。 Java 8以降では、forEachメソッドとイテレータクラスを使用してArrayListをループできます。 ArrayListをループする ArrayListをループする方法は主に5つあります クラシックForループ Advanced For Loop イテレータ ループ中 ForEach(Java 8) まず、ループの例で使用するArrayListを作成しましょう: import java.util.ArrayList; import java.util.List; pub

  2. Javaでリストを配列に変換する

    リストと配列の間の変換は、Javaでは非常に一般的な操作です。 Javaでリストを配列に変換する最も簡単な方法は、.toArray()を使用することです。 メソッド。 同様に、Arrays.asList()を使用して、リストを配列に戻すことができます。 メソッド。 以下の例は、文字列のリストと整数のリストを同等の配列に変換する方法を示しています。 リストを文字列の配列に変換 import java.util.ArrayList; import java.util.List; public class ConvertArrayListToArray { public static