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

Java 9でOptional.ifPresentOrElse()メソッドを使用する目的は何ですか?


ifPresentOrElse()の改善 オプションのメソッド クラスは、コンシューマーの2つのパラメーターを受け入れるクラスです。 および実行可能 ifPresentOrElse()を使用する目的 方法は、オプションの場合です。 値が含まれている場合、関数actionは含まれている値に対して呼び出されます。つまり、 action.accept(value) 、これは ifPresent()と一致しています 方法。 ifPresent()との違い メソッドは、 ifPresentOrElse() 2番目のパラメータemptyActionがあります 。オプションに値が含まれていない場合は、 ifPresentOrElse() メソッドはemptyActionを呼び出します 、つまり emptyAction.run()

構文
public void ifPresentOrElse(Consumer<? super T> action, Runnable emptyAction)

import java.util.Optional;

public class IfPresentOrElseMethodTest {
   public static void main(String args[]) {
      Optional<Integer> optional = Optional.of(1);

      optional.ifPresentOrElse(x -> System.out.println("Value: " + x), () ->
                                    System.out.println("Not Present"));

      optional = Optional.empty();

      optional.ifPresentOrElse(x -> System.out.println("Value: " + x), () ->
                                    System.out.println("Not Present"));
   }
}

出力

Value: 1
Not Present

  1. Javaのpaint()メソッドとrepaint()メソッドの違いは何ですか?

    Paint()とRepaint() paint(): このメソッドは、このコンポーネントをペイントするための命令を保持します。 Java Swingでは、paintが paintBorder()を呼び出すときに、paint()メソッドの代わりにpaintComponent()メソッドを変更できます。 paintComponent() およびpaintChildren() メソッド。このメソッドを直接呼び出すことはできません。代わりに、 repaint()を呼び出すことができます。 。 repaint() :このメソッドはオーバーライドできません。 paint()を制御します サイ

  2. JavaでのsetBounds()メソッドの使用は何ですか?

    レイアウト マネージャー 追加されたコンポーネントの位置とサイズを自動的に決定するために使用されます。レイアウトマネージャーがない場合は、コンポーネントの位置とサイズを手動で設定する必要があります。 setBounds() このような状況では、メソッドを使用して位置とサイズを設定します。コンポーネントの位置とサイズを手動で指定するには、フレームのレイアウトマネージャーを nullにすることができます。 。 setBounds() setBounds() メソッドには4つの引数が必要です。最初の2つの引数は、x座標とy座標です。 左上の コーナー コンポーネントの3番目の引数は幅です コ