私の最初の質問はthis oneの正確な複製でした。つまり、このインタフェースに実行時保存ポリシーが設定されているのはなぜですか。@ FunctionalInterfaceはJVMのランタイム動作にどのように影響しますか?
しかし、受け入れ答えは、2つの理由のために、すべてで私を満たしていない:
- このインタフェースは
@Documented
であるという事実は、((私は信じている)、それとは何の関係もありません@Documented
は、実行時の保持力を持っている理由が、ポリシーは私にとっても謎です)。 (答えは言及としてComparable
、だけでなく、Runnable
など) - は多くが「だろう」にもかかわらず、機能のインターフェイスは、前のJava 8にJavaで存在し、これは、あなたができるインスタンスの「代替」(として使用されてからそれらを防ぐことはできません。あなたがしていることが
Path
などのフィルタであれば、Predicate
の代わりにDirectoryStream.Filter
を使用してください)。
しかし、それでもこの保持はあります。つまり、何とかJVMの動作に影響を与えなければならないということです。どうやって?
これは、保持ポリシー「RUNTIME」がJVMの動作に影響を与えることを暗示するという非常に奇妙な結論です。ラムダ式の関数インタフェースを実装できることは既に知っているので、たとえアノテーションがない場合でも(私はあなたが知っていると思いますが)、JVMのどのような変更が完全にオプションであるべきか? – Holger
@Holgerそれは私が疑問に思ったことなのです。しかし、最終的には違いがないようです... – fge