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

キャッチにreturnステートメントを含めることはできますか、それともJavaで最後にブロックすることはできますか?


はい、catchとfinallyブロックでメソッドのreturnステートメントを記述できます。

  • メソッドに戻り型があり、条件に基づいてメソッドの任意の部分で何らかの値を返すことができる状況があります。
  • catchブロックに値を返し、メソッドの最後に値を返すことができる場合、コードは正常に実行されます。
  • catchブロックに値を返し、値を返した後にメソッドの最後にステートメントを記述できる場合、コードは実行されないため、Javaが到達不能コードをサポートしていないことがわかっているため、到達不能コードになります。
  • 最後のブロックで値を返し、メソッドの最後に戻り値を保持する必要がない場合。

例1

public class CatchReturn {
   int calc() {
      try {
         int x=12/0;
      } catch (Exception e) {
         return 1;
      }
      return 10;
   }
   public static void main(String[] args) {
      CatchReturn cr = new CatchReturn();
      System.out.println(cr.calc());
   }
}

出力

1

例2

public class FinallyReturn {
   int calc() {
      try {
         return 10;
      } catch(Exception e) {
         return 20;
      } finally {
         return 30;
      }
   }
   public static void main(String[] args) {
      FinallyReturn fr = new FinallyReturn();
      System.out.println(fr.calc());
   }
}

出力

30

  1. JavaでinvokeLater()メソッドを呼び出すにはどうすればよいですか?

    invokeLater() メソッドは静的です SwingUtilitiesのメソッド クラスであり、タスクを非同期に実行するために使用できます。 AWT イベントディスパッチャスレッド 。 SwingUtilities.invokeLater() メソッドはSwingUtilities.invokeAndWait()のように機能します ただし、リクエストはイベントキューに配置されます そしてすぐに戻る 。 invokeLater() メソッドは、実行可能内のコードのブロックを待機しません ターゲットによって参照されます 実行します。 構文 public static void in

  2. JavaでJComboBoxのアイテムを並べ替えるにはどうすればよいですか?

    JComboBox JComponentのサブクラスです クラスであり、テキストフィールドの組み合わせです。 およびドロップダウンリスト ユーザーはそこから値を選択できます。 JComboBox ActionListener、ChangeListener、を生成できます およびItemListener ユーザーがコンボボックスでアクションを実行するときのインターフェイス。デフォルトでは、JComboBoxはアイテムの並べ替えをサポートしていません。 DefaultComboBoxModel を拡張することで、コードをカスタマイズできます。 クラス。 例 import java.awt