Domande taggate «javac»

javac è il compilatore Java principale, incluso nel Java Development Kit (JDK) di Sun Microsystems (ora Oracle) e anche nelle versioni di altri fornitori.


3
Perché javac consente alcuni cast impossibili e non altri?
Se provo a trasmettere a Stringa java.util.Date, il compilatore Java rileva l'errore. Quindi perché il compilatore non contrassegna quanto segue come errore? List<String> strList = new ArrayList<>(); Date d = (Date) strList; Ovviamente, la JVM lancia un ClassCastExceptionruntime, ma il compilatore non lo contrassegna. Il comportamento è lo stesso con …

1
L'operatore '+' non può essere applicato a oggetto e stringa
Il seguente codice: void someMethod(Object value) { String suffix = getSuffix(); if (suffix != null) value += suffix; [...] } compila senza errori in JDK 8 (usando -source 1.6), ma fallisce in JDK 6 con il messaggio di errore: Operator '+' cannot be applied to java.lang.Object and java.lang.String Mentre capisco …
12 java  java-8  javac  java-6 

3
Selezione della firma del metodo per l'espressione lambda con più tipi di destinazione corrispondenti
Stavo rispondendo a una domanda e mi sono imbattuto in uno scenario che non posso spiegare. Considera questo codice: 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 …
11 java  generics  lambda  javac  ecj 

1
Perché il compilatore sceglie questo metodo generico con un parametro di tipo classe quando viene invocato con un tipo di interfaccia non correlato?
Considera le seguenti due classi e interfacce: public class Class1 {} public class Class2 {} public interface Interface1 {} Perché la seconda chiamata per mandatoryinvocare il metodo sovraccaricato con Class2, se getInterface1e Interface1non ha alcuna relazione Class2? public class Test { public static void main(String[] args) { Class1 class1 = …
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.