次のような宣言を見たのを覚えています。
private static Logger log = Logger.getLogger(<>.class);
利点は、誤って別のクラスのロガーになることなく、クラスからクラスに貼り付けることができることでした。
今、私はそれをコンパイルすることができません.構文が間違っているに違いありません. では、<> はそれ自体 (ArrayList<>() などではなく) で正確に何に解決されるのでしょうか?
ありがとうございました
アップデート:
それが合法的な構文であるという私の主張は、次のことから来ています。
- 私はそれを合法的で気の利いたトリックとしてウェブ上で見ました.
- 私と同僚の両方がJava 7でIntelliJに貼り付け、正しくコンパイルしました。
とはいえ、そのページに再びアクセスできる検索が見つからず、今すぐコンパイルすることもできません! したがって、コンパイラまたは Java 仕様の知識を持つ誰かが、それが有効かどうか、およびデフォルトが何であるかを明確に述べてくれることを願っています。