Ich habe die folgende Schnittstelle:Sonderbare Erasure in Java Generics
public interface Translator
{
public <T, F> T translate(F from, T to, Class<T> clazz);
}
und die folgende Implementierung:
class TranslatorImpl implements Translator
{
@Override
public <T, F> T translate(F from, T to, Class<T> clazz)
{
//some code
}
}
Aber für die translate()
Methode in der TranslatorImpl
Klasse rügt Eclipse-wie folgt:
Name Konflikt: Die Methode übersetzen (F, T, Klasse) des Typs Tr anslatorImpl hat die gleiche Lösch wie translate (F, T, Klasse) vom Typ Übersetzer aber enthebt nicht
Update: Als ich ein Maven bauen tun richtig baut. Ich benutze JDK 1.6 Update 31. Die JDK Compliance Level in Eclipse ist 1.6
Wie überwinde ich das?
Update 2:
Compliance-Level-Einstellungen:
JRE installiert:
Update 3: Inhalt meiner .classpath
Datei:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry combineaccessrules="false" kind="src" path="/dbmodel"/>
<classpathentry combineaccessrules="false" kind="src" path="/uimodel"/>
<classpathentry combineaccessrules="false" kind="src" path="/common"/>
<classpathentry kind="var" path="MAXIMUS_DEV_DIR/resources/dependencies/java/log4j/log4j-1.2.16/log4j-1.2.16.jar"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Update 4: projektspezifische Compiler Konformitätsstufeneinstellungen:
Funktioniert wie es für mich sollte. Welchen Compiler benutzen Sie? – Joni
Sie benötigen den dritten Parameter nicht, es sei denn, Sie möchten null als zweiten Parameter angeben. – EJP
Es ist Eclipse, die die Probleme verursacht. Wenn ich einen Maven Build mache, baut es sich richtig auf. Ich benutze JDK 1.6 Update 31. Die JDK Compliance Level in Eclipse ist 1.6 –