DarthShader
Erfahrenes Mitglied
Hallo,
ich habe ein Problem mit meinen generischen Methoden. Ich verwende zum Kompilieren einmal Eclipse 3.3.0, und einmal javac vom JDK Version 1.6.0_05.
Der folgende Code kompiliert mit Eclipse problemlos:
Kompiliere ich jedoch mit javac (was sehr wichtig ist, da ich Ant verwende), erhalte ich folgenden Fehler:
Wer hat hier den Bug (angenommen, die Java Lang. Spec. ist nicht mehrdeutig), der Eclipse Compiler oder javac ?
Ich persönlich sehe den angeblichen Fehler nicht im Code. Wenn ich getValue() verwende, so ist der Typ A konkretisiert und damit müsste ja auch der Typ B klar sein.
Über Hilfe würde ich mich sehr freuen
Vielen Dank!
ich habe ein Problem mit meinen generischen Methoden. Ich verwende zum Kompilieren einmal Eclipse 3.3.0, und einmal javac vom JDK Version 1.6.0_05.
Der folgende Code kompiliert mit Eclipse problemlos:
Java:
public class Test
{
private < B > B getOtherValue() {
return null;
}
private < A > A getValue() {
return getOtherValue();
}
}
Kompiliere ich jedoch mit javac (was sehr wichtig ist, da ich Ant verwende), erhalte ich folgenden Fehler:
Code:
> javac Test.java
Test.java:10: type parameters of <B>B cannot be determined; no unique maximal
instance exists for type variable B with upper bounds A,java.lang.Object
return getOtherValue();
^
1 error
Wer hat hier den Bug (angenommen, die Java Lang. Spec. ist nicht mehrdeutig), der Eclipse Compiler oder javac ?
Ich persönlich sehe den angeblichen Fehler nicht im Code. Wenn ich getValue() verwende, so ist der Typ A konkretisiert und damit müsste ja auch der Typ B klar sein.
Über Hilfe würde ich mich sehr freuen
Vielen Dank!