問題タブ [method-reference]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - メソッド参照で引数を渡すことはできますか?
次のコード行があります。
メソッドの1つの内部:
今importProducts
は引数なしのメソッドです:
しかし、今このメソッドに引数を追加する必要があります。
新しい引数を追加した後、次の行を実行します。
壊れた。
それを修正することは可能ですか?
java - Lambdas をメソッド参照に置き換えます。
以下のメソッドのラムダをメソッド参照に置き換える方法を理解するのを手伝ってください。
java - BiConsumers を Consumers と同じくらい簡単に使用する方法はありますか?
これは理論上の問題であり、具体的な応用はありません。
私は触れない次の方法を持っています。(可能であれば) として使用できBiConsumer
ます。
一定にas
保ちながら繰り返し使用するにはどうすればよいですか?b
this::doSmallThing
doBigThing
もちろん、以下は機能しません。
以下はうまく機能し、実際に私が毎日使用しているものです。
以下もうまくいきますが、もう少しトリッキーです。
しかし、これらのソリューションのすべてがケースの単純さを実現しているわけではありませんConsumer
。それで、のために存在する単純なものはありBiConsumer
ますか?
java - 他のものを拡張する機能的インターフェースはできません - それにコンストラクタ参照を割り当てることはできません - それはコンパイラのバグですか?
以下の単純なコードでは、「Factory」インターフェイスを確認できます。それらの間の唯一の違いは、次のようにFactory0Bad
拡張されることSupplier
です。
だからライン
はコンパイラ (1.8.0u05) によって受け入れられますが、この行
ではありません。
どうしてこれなの?ここで何が欠けていますか?javacのバグですか?
java - ジェネリック メソッドへのメソッド参照を指定するための構文
「Java - 初心者向けガイド」で次のコードを読みました。
次のステートメントは有効です
上記のコードの説明に関して2つのポイントがありました
1 - ジェネリック メソッドがメソッド参照として指定されている場合、その型引数は
::
メソッド名の後と前にあります。2 - ジェネリック クラスが指定されている場合、型引数はクラス名に続き、
::
.
私の質問:-
上記のコードは、最初に引用されたポイントの例です
2 番目の引用ポイントを実装するコードの例を教えてもらえますか?
(基本的に、2番目に引用された点がわかりません)。
java - インスタンスメソッドへの2つのメソッド参照の違い
私のクエリ
上記のコードでStatement 1
は、2 つのコンパイル時エラーが発生します
1- メソッドが見つかりません
myGenMeth(Integer, Integer)
2-非静的メソッド
myGenMeth(T, T)
は静的コンテキストから参照できません
asStatement 2
はエラーを表示しません。
1-との違いは何ですか??Statement 1
Statement 2
2-どのようにStatement 2
うまく機能していますか。
(なぜStatement 1
エラーが発生するのかは尋ねていません)。
java - 複数のラムダ メソッド参照
次のように、ラムダ式の要素で行われることをチェーン/連結することができます。
メソッド参照でもこれを行う方法はありますか? このようなもの:
私はこれを4つの別々の呼び出しで行うことができることを知っています(値を変更するというより多くのことも行います):
私はこのような簡単なことさえできません:
java - Java 8 の static init ブロックの this::methodReference または同等のもの
ちょっと興味があります:私は次のコードを持っています:
指定された行に現在のクラスをリストしないようにする方法はありますか? メソッドは、静的初期化ブロックと同じクラスの静的メソッドです。インスタンスがまだないのでできないことはわかっていますが、スペルアウトせずに現在のクラスを推測this::isGoogleHTTP5XXError
できるようなものがあればいいと思います。::isGoogleHTTP5XXError
これは存在しますか?