[解決済み] ラムダで何でも使えるノーポップ(NOP)のメソッドリファレンスはありますか?
2023-07-25 04:51:34
質問
変な質問ですが、Java8でLambdaの標準的なno-op(別名:null operation, null-pattern method, no-operation, do-nothing method)メソッドを参照する方法はありますか。
現在、私はあるメソッドを持っていて、それは例えば
void foo(Consumer<Object>)
と宣言して、それをノーオープンにしてあげたいのですが。
foo(new Consumer<Object>() {
public void accept(Object o) {
// do nothing
}
}
というようなことができるようにしたいところ。
foo(Object::null)
の代わりに のようなものは存在するのでしょうか?
マルチパラメータのメソッドでどのように動作するかは分かりませんが -- おそらくこれはJavaのラムダの欠陥でしょう。
どのように解決するのですか?
これは欠陥ではありません。
Javaにおけるラムダは機能的インターフェースのインスタンスです。 1 単一の抽象メソッド、またはSAMに簡略化することができます。
しかし、このSAMはまだ有効なプロトタイプを持つ必要があります。あなたの場合、ノートップの
Consumer<T>
という何もしない
T
.
やはり必要なのは
Consumer<T>
である必要があります。つまり、あなたが思いつく最小限の宣言は
private static final Consumer<Object> NOOP = whatever -> {};
とし
NOOP
を必要な箇所に使用します。
関連
-
executeQuery()でデータ操作文が発行できない。解決方法
-
Javaクラスが "Error occurred during initialization of boot layer "というエラーで実行される。
-
名前 'XXX' を持つ Bean の作成に失敗しました。自動依存関係の注入に失敗しました 解決方法
-
Javaジェネリックを1つの記事で
-
Junitのユニットテストはjava.lang.Testを報告します。
-
Javaがテキストファイルを読み込む
-
X11 DISPLAY変数が設定されていない」問題の解決方法
-
Java基礎編 - オブジェクト指向
-
Server Tomcat v9.0 Server at localhost の起動に失敗しました。
-
git pull appears現在のブランチに対するトラッキング情報がありません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
アクセス制限です。タイプ 'Application' は API ではない(必要なライブラリに制限がある)。
-
型に解決できない エラー解決
-
unsigned char* から const jbyte* {aka const signed char*} への変換が無効です。
-
Java Notes 005_この行に複数のマーカーがある - キーを変数に解決できない - シンタックスエラー、ins
-
Javaジェネリックを1つの記事で
-
List list = new ArrayList(); Error: ArrayList は型に解決できません。
-
FindBugの使用概要
-
Javaがリソースリークに遭遇した:'input'が閉じない 解決方法
-
java 365*1000*60*60*24 計算問題
-
[解決済み] 常にtrueを返すJava 8の組み込み述語?