問題タブ [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.
intellij-idea - 機能インターフェイスにデフォルト以外のメソッドが複数ある場合、アイデアにエラー メッセージが表示されない
アイデア 12 を使用します
。コンパイル後に次の結果が表示されます。
テキストエディタでエラーが表示されないのは不思議です。
アイデアバグですか?
java - パッケージ java.util.function 内の機能インターフェースのパラメーターと戻り型の要約
のすべてのインターフェイスの単一の抽象メソッド (SAM) のパラメーターと戻り値の型の表を探していますjava.util.function
。
java - Generics+FunctionalInterface が Eclipse でコンパイルされ、javac で失敗する
Eclipse で次のクラスを作成しましたjavac
が、コンパイルに失敗しましたが、報告されたあいまいさはjavac
解決できると思います。
私の意見CALL_1
では、より良い一致であるため、選択するMETHOD_1
必要があります。javac
それはバグですか、それともjavac
仕様に従っており、Eclipse は情報を使用してはいけませんか?
Javac エラー メッセージ:
... call への参照があいまいです - メソッド call(Fun1,P,R_m_P) EclipseCompilerVsJavac と EclipseCompilerVsJavac のメソッド call(Fun2,P1,P2) の両方が一致します
私はJDK 8とEclipse STS 3.63を使用しています+異なるコンパイラがあることを知っています。私のコードがOKかどうか知りたいです。
更新: 説明:
- example.call/3 が呼び出されます
- 第 1 パラメーター: 決定には使用できません - call/3 メソッドは両方の methodOverload バリアントを参照するため
- 2 番目のパラメーター: 使用できません - call/3 の両方にジェネリックがあります
- 3 番目のパラメーター: R_m_P パラメーターは P2 ジェネリックよりも具体的であるため、使用する必要があります
つまり、CALL_1
選択する必要があります。
java - コンポーネント図で Java 機能インターフェースを表現する方法
私のクラスには、機能インターフェースを参照するフィールド Map があります。
次に、そのクラスを拡張し、その IInvokeOperation の匿名インスタンスを作成して、次のようにその Map に追加します。
それはコンポーネント図にも表示されますか?
java - Java 8 の機能インターフェース (メソッド実行時間ロガー)
私には2つの方法があります:
//任意のメソッドにかかった時間を記録します
JDK8 機能インターフェースとメソッド参照を使用して、メソッド 'logMethodExecTime' の正しい構文を定義する方法がわかりません。
以下は機能していません:
および呼び出し:
java - 警告: [オーバーロード] メソッド m1 はメソッド m2 と潜在的にあいまいです
これをコンパイルするとjavac -Xlint Test.java
、いくつかの警告が表示されます。
に変更Consumer
するとSupplier
、警告が消えます。このプログラムは警告フリーです:
何故ですか?この警告はどういう意味ですか? これらの方法はどのようにあいまいですか? 警告を抑制しても安全ですか?
java - Java の不変インスタンス/関数型インターフェース
Collections.immutable(x) のような方法で、インスタンスまたは関数インターフェイスの静的メソッドの出力を強制的に不変にする方法はありますか?
たとえば、一種の Comparator 機能インターフェイスを作成し、インスタンスを作成した静的ビルダーのようなメソッドの一部に対して「.thenComparing()」などの連鎖操作を許可しないようにしたいと思います。