2016-09-21 2 views
-2

В настоящее время я исследование на новых возможностях Java8: http://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.htmlПочему типа аннотация непосредственно не поддерживается Java 8 компилятора или Затмение

Из приведенной выше ссылки, он наглядно продемонстрировали:

Type Annotations provide the ability to apply an annotation anywhere a type is used, not just on a declaration. Used with a pluggable type system, this feature enables improved type checking of your code.

Но когда я попытался добавить аннотацию типа, например @NotNull или @Readonly и т. Д. В Eclipse Neon, он не может распознать эти аннотации вообще! Это расстраивает.

Я что-то пропустил? или если мне нужно сделать больше настроек, например, добавление дополнительных банок, почему это все еще указано как новая функция Java 8?

+2

Вы настроили java8 в своем затмении? – Jens

+0

Я так думаю, так как мой код включает в себя множество лямбда-выражений, и они все равно приняты – Rui

+0

Думайте, что этого недостаточно. Вы должны это знать – Jens

ответ

0

@Jens Спасибо :) Я снова обыскали от Google и нашел следующую ссылку: https://docs.oracle.com/javase/tutorial/java/annotations/type_annotations.html

В связанной странице рассказывалось The Java SE 8 release does not provide a type checking framework, but it allows you to write (or download) a type checking framework that is implemented as one or more pluggable modules that are used in conjunction with the Java compiler.

Так что ключ должен иметь checker framework либо DIY или используя существующие checker framework. В конце связанной страницы есть еще одна страница ссылки на существующую Checker Framework - https://checkerframework.org/, и эта, вероятно, пока лучшая структура, которую мы можем использовать :)