@ com.sun.istack.internal.NotNull аннотация - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь использовать аннотацию @NotNull из пакета com.sun.istack.internal.

Я использую IDE Intellij IDEA Community Edition.когда я создаю программу, используя IDE, нет проблем.Когда я пытаюсь скомпилировать файл из командной строки, используя javac, я получаю сообщение об ошибке «не могу найти символ».

package ibkr;

import com.sun.istack.internal.NotNull;

public class Main {

    public static void main(String[] args) {
        test("Test");
    }

    public static void test(@NotNull String text) {
        System.out.println(text);
    }
}

Я не понимаю, почему я не могу скомпилировать этот код с использованием javac и какIntellij IDEA делает компиляцию и запускает ее.

1 Ответ

0 голосов
/ 23 октября 2018

Аннотация - это внутренний класс, он не предназначен для публичного использования.Ближайшая альтернатива - это содержимое Jetbrains:

https://www.jetbrains.com/help/idea/nullable-and-notnull-annotations.html

Даже если класс находится в пути к классам, это не обязательно означает, что вы можете безопасно ссылаться на этот класс.Компилятор может иметь некоторые ограничения при доступе к некоторым классам / пакетам.

В большинстве случаев, как и здесь, очевидно, является ли пакет внутренним или нет: com.sun.istack.internal.Oracle не рекомендует разработчикам использовать классы из таких пакетов.

...