Вопросы с тегом «javac»

javac - основной компилятор Java, включенный в Java Development Kit (JDK) от Sun Microsystems (теперь Oracle), а также в версии от других поставщиков.

9
Java: как я могу скомпилировать всю структуру каталогов кода?
Вариант использования прост. Я получил исходные файлы, созданные с помощью Eclipse. Итак, существует глубокая структура каталогов, где любой класс Java может ссылаться на другой класс Java в той же, дочерней, родственной или родительской папке. Как мне скомпилировать все это из терминала с помощью javac?

11
Как намеренно вызвать пользовательское предупреждающее сообщение компилятора Java?
Я собираюсь совершить уродливый временный взлом, чтобы обойти проблему с блокировкой, пока мы ждем, пока внешний ресурс будет исправлен. Помимо того, чтобы отметить это большим пугающим комментарием и кучей FIXME, я бы хотел, чтобы компилятор выдавал очевидное предупреждающее сообщение в качестве напоминания, чтобы мы не забыли удалить это. Например, что-то …

3
Почему javac допускает некоторые невозможные приведения, а другие нет?
Если я пытаюсь привести Stringк a java.util.Date, компилятор Java ловит ошибку. Так почему же компилятор не помечает следующее как ошибку? List<String> strList = new ArrayList<>(); Date d = (Date) strList; Конечно, JVM генерирует a ClassCastExceptionво время выполнения, но компилятор не помечает его. Поведение то же самое с javac 1.8.0_212 и …

1
Оператор «+» не может быть применен к объекту и строке
Следующий код: void someMethod(Object value) { String suffix = getSuffix(); if (suffix != null) value += suffix; [...] } компилируется без ошибок в JDK 8 (с использованием -source 1.6), но завершается с ошибкой в ​​JDK 6 с сообщением об ошибке: Operator '+' cannot be applied to java.lang.Object and java.lang.String Хотя …
12 java  java-8  javac  java-6 

3
Выбор сигнатуры метода для лямбда-выражения с несколькими совпадающими типами целей
Я отвечал на вопрос и столкнулся со сценарием, который я не могу объяснить. Рассмотрим этот код: interface ConsumerOne<T> { void accept(T a); } interface CustomIterable<T> extends Iterable<T> { void forEach(ConsumerOne<? super T> c); //overload } class A { private static CustomIterable<A> iterable; private static List<A> aList; public static void main(String[] …
11 java  generics  lambda  javac  ecj 

1
Почему компилятор выбирает этот универсальный метод с параметром типа класса при вызове с несвязанным типом интерфейса?
Рассмотрим следующие два класса и интерфейс: public class Class1 {} public class Class2 {} public interface Interface1 {} Почему второй вызов mandatoryвызывает перегруженный метод с Class2, если getInterface1и Interface1не имеет отношения с Class2? public class Test { public static void main(String[] args) { Class1 class1 = getClass1(); Interface1 interface1 = …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.