ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
583
583
EMPFEHLEN
-
02.09.10 10:48 #1
- Registriert seit
- May 2004
- Beiträge
- 683
Hallo zusammen,
ich habe kürzlich meine Eclipse Version von Ganymede (3.4.1) nach Helios aktualisiert. Jetzt zeigt er mir Warnings an, die vorher nicht da waren, z.B. das hier:
Code java:1 2 3 4
@SuppressWarnings( "unchecked" ) public class MyClass { private List data; }
Code :1
List is a raw type. References to generic type List<E> should be parameterized
Natürlich ist das Warning ansich korrekt, aber ich habe oben ja das "@SuppressWarnings" stehen. In der alten Eclipse Version hat es gereicht, um das Warning zu unterdrücken. Jetzt muss man es anscheinend direkt an das Feld schreiben, ist meine Annahme korrekt?
Es macht natürlich Sinn, die "@SuppressWarnings" dort hinzusetzen, wo sie benötigt werden (Vertical Distance), aber ich fand es schon nett - wenn ich eine ganze Klasse habe, die z.B. Java 1.4 kompatibel sein soll, kann ich die Warnings mit nur einem "@SuppressWarnings" an der Klasse ausblenden.
Ist das jetzt eine Änderung von Eclipse, einem JDK Update oder woher kommt diese "Änderung"?
Danke!Geändert von DarthShader (02.09.10 um 10:58 Uhr)
-
02.09.10 11:02 #2
- Registriert seit
- Apr 2009
- Ort
- Düsseldorf (NRW)
- Beiträge
- 498
Der richtige Parameter für @SuppressWarnings wäre in diesem Fall "rawtypes". "unchecked" unterdrückt Warnungen für unsichere Casts.
-
Ich vermute eher, dass du vorher in den Settings(Workspace oder Projekt-Settings, eigentlich egal) eingestellt hast, dass er den 1.4-Compiler verwenden soll und durch das Update wurde das anscheinend auf 1.6-Compiler gestellt wodurch du jetzt diese Warnings bekommst, denn Eclipse selbst generiert ja keine Warnings, es leitet nur die weiter, die es vom Compiler bekommt.
Wenn deine Klasse 1.4-kompatibel sein soll, dann würde ich dir auch empfehlen den 1.4er-Compiler erneut einzustellen um die Kompabilität zu gewährleisten.
Gruß
Matt
-
02.09.10 13:51 #4
- Registriert seit
- Aug 2005
- Ort
- Karlsruhe (Baden-Württemberg)
- Beiträge
- 900
Der Compiler kommt aber von eclipse und ändert sich mit jeder eclipse-Version

Dadurch ändern sich auch die Einstellungen. Mit Java 1.4 wäre der obige Code ja richtig.
@DarthShader
Ich würde, wenn möglich und du sicher weißt welcher Typ da raus kommt, diesen da auch angeben und dann zur Not die Warnung zum casten für die Zeile unterdrücken. Sonst zieht sich das durch die ganze Anwendung und es wird nie auf neue wichtige Sprachfeatures umgestellt.
(Autoboxing lasse ich aber lieber weg
)
P.S.: eclipse hat Möglichkeiten einem bei der Umstellung etwas zu helfen
Wäre super wenn ihr euren Code in dieser Form einfügt:
[java]System.out.println("Hello World");[/java]Code java:1
System.out.println("Hello World");
Für erledigte Threads dürft ihr den "erledigt"-Button anklicken!
Über Dank freut sich jeder, der euch geholfen hat - ein Klick auf "Danke" kostet ja nicht mal was
Blog: http://javaeffective.wordpress.com/
-
02.09.10 13:55 #5
- Registriert seit
- May 2004
- Beiträge
- 683
Hallo,
vielen Dank für Eure Antworten!
In meinem "alten" Eclipse hatte ich Version 1.6 eingestellt, da muss sich also was am Eclipse Compiler geändert haben. Der Tipp mit dem "rawtypes" ist natürlich völlig richtig - und ich sehe auch gerade, dass die Angabe an der Klasse, um in einem Schwung die Warnings los zu werden, immernoch funktioniert
Ich weiß, dass dies natürlich nicht empfehlenswert ist, aber es gibt noch Ausnahmen, bei denen man das durchaus tun kann.
Also nochmals danke für Eure Hilfe!
-
02.09.10 14:03 #6
- Registriert seit
- Apr 2009
- Ort
- Düsseldorf (NRW)
- Beiträge
- 498
Wenn du den Typ nicht kennst, kannst du die Warnung auch umgehen, indem du als Typ "?" angibst.
Code java:1
List<?> objects = new List<?>();
Ähnliche Themen
-
[eclipse PHP Helios SR1] Namespaces
Von gordonk im Forum PHPAntworten: 2Letzter Beitrag: 09.02.11, 19:49 -
[Eclipse] Code Template funktioniert nicht mit Kommentar (nach Update auf Helios)
Von DarthShader im Forum JavaAntworten: 0Letzter Beitrag: 15.09.10, 09:41 -
VM argumente unter Eclipse Ganymede
Von Tagamoga im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 4Letzter Beitrag: 23.06.09, 09:56 -
Eclipse Ganymede & die Workspace-Auswahl
Von Ronin-Jay im Forum JavaAntworten: 2Letzter Beitrag: 09.10.08, 18:23 -
Eclipse Code Folding (Ganymede)
Von WolfBauer im Forum Java GrundlagenAntworten: 2Letzter Beitrag: 19.09.08, 10:18





Zitieren
Login




