Java Generics - Problem ("no unique maximal instance exists")

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:

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!
 
Zurück