問題タブ [functional-interface]

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.

0 投票する
1 に答える
654 参照

java - ストリームまたはオプションを受け入れる機能インターフェイス?

パラメータとしてs または型の@FunctionalInterface両方を受け入れる Java でを作成したいと考えています。私はこれをやろうとしましたが、共通のインターフェースを共有していないため、達成することは不可能のようです. また、を呼び出す一般的なラッパー クラスを使用してみましたが、実行時に型パラメーターが必要なため、これは不可能のようです。StreamOptional@FunctionalInterface

最小の例:


私のアプローチが間違っているのかもしれません...フィードバックやこの問題の解決策をお待ちしております。

0 投票する
1 に答える
219 参照

java - Function.classの下限ワイルドカードの目的は何ですか?

Java8 の Function.class には、次のものがあります。

Compose は以下を受け入れます:

それよりも:

「V」が下限であるという事実が問題になるもっともらしい状況はありますか?

0 投票する
3 に答える
353 参照

java - Java8に標準化された汎用機能インターフェースはありますか?

ラムダの使用を容易にし、標準化するために、一般的な関数型インターフェイスのセットを定義する仕事を誰かがどこで行ったのだろうか。私はコア ライブラリが仕事をした C# から来ました。

「BiFunction」について読んだところ、ぎこちないことがわかりました。特にTriFunctionなどに拡張すると。

私は次のことを思いつきました:

0 投票する
1 に答える
1018 参照

java - Java - lambda infer type

I'm playing around with uses of a FunctionalInterface. I've seen multiple variations of the following code everywhere:

I'm looking for the following behaviour:

But ifPresent only accepts a Supplier and Optional cannot be extended.

I have created the following FunctionalInterface:

This allows me to do this:

One can add more default methods to do things like

そして、それはうまく読みますDo [my function] and return [function return value] if [my condition] holds true for [my input], otherwise null

A次の操作を行ったときに、コンパイラが(Stringに渡されたifNotNull) とB(Integerによって返された)の型を推測できないのはなぜですかparseInt

これにより、次の結果が得られます。

互換性のない型: 無効なメソッド参照

0 投票する
1 に答える
325 参照

performance - JAVA 8 で関数型インターフェースを使用する場合

私は現在java8に変換しようとしているjava7のプロジェクトを持っています。

その中で、以下のようにJava 8に変換したメソッドを呼び出すコードがあります。

ジャワ7:

ジャワ8

さて、私の質問は、これらのようなメソッド呼び出しをJAVA 8に変換することは意味がありません。

もしそうなら、JAVA 7 と JAVA 8 の上記のコードの違いは何ですか。

誰でもこれを明確にしてもらえますか???

0 投票する
1 に答える
5610 参照

unit-testing - コンシューマー機能インターフェースに基づくユニット テスト コールバック

コンシューマー機能インターフェイスでコールバックとして実行されるコードを単体テストしようとしています。

基本的に、「toBeMockedDependency」を介して、テスト済みのコードにテスト済みの「メッセージ」を提供したいと考えています。

「toBeMockedDependency」をモックして、事前定義されたメッセージを提供するにはどうすればよいですか?
それは正しいアプローチですか?

0 投票する
2 に答える
128 参照

java - オブジェクトの特定のメソッド(または静的メソッド)をJava 8のファンクターとして使用することは可能ですか?

Java 8 の関数型インターフェースを理解しようとしています。ファンクターに f() があるとします。

Java 8 機能インターフェースを使用して同様の構造を作成することは可能ですか?

つまり、オブジェクトの特定のメソッド (または静的メソッド) をファンクターとして使用することは可能ですか? もしそうなら、短い例を挙げていただけますか?

ファンクターは、データ メンバー (a) といくつかの追加パラメーター (b、c、d) を操作する関数の図を表します...

0 投票する
3 に答える
914 参照

java - ラムダ式をパラメーターとして渡すと、このスコープ内の他の変数にアクセスできる可能性はありますか?

出力:[11, 13, 15, 17, 19]

使用した関数のソースは次のsetAll()とおりです。

IntUnaryOperatorは機能的なインターフェースであり、これはそのソースの一部です:

間違っている場合は訂正してください。ただし、Java でのラムダ式についての私の理解では、ラムダ式をパラメータとしてメソッドに渡すと、インターフェイスsetAll()を実装する匿名クラスのオブジェクトが作成され、呼び出されます。そして、ラムダ式は本質的にメソッドの実装であるため、次のように変換されると思います。IntUnaryOperatorgeneratorapplyAsInt()

operand引数として渡されたときにアクセスできることは理にかなっていますがarray[i] = generator.applyAsInt(i);、どのように操作できるかわかりませんb-パラメーターとして渡されないので、どのように参照できるのでしょうか? 私は何が欠けていますか?