Nicht reproduzierbarer Fehler bei Kompilierung - Shortcut "Bereinigung" Compiler ?

Blizzsnake80

Mitglied
Hallo zusammen,

ich habe eine doofe Frage:

Ich habe folgende Klasse zum Testen von Generics verwendet:
package Generic;

import java.util.*;


public class TesteGenerics {

public static void main(String[] args) {
// TODO Auto-generated method stub

Collection<String> str = new Collection<String>();
str.add("Hall");
str.add("o");
}
}

Ich könnte schwören, dass genau dieser Quellcode vor 5 min funktioniert hat. Dann habe ich mit folgender Änderung

Collection<int, String> str = new Collection<int,String>();

"experimentiert" und mir vom Compiler sagen lassen, dass sowas nicht geht.

Die eigentliche Sache ist aber, nachdem ich diese Zeile Code wieder in die obige zurücküberführt habe, sagt mir der Compilter nun ständig:

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot instantiate the type Collection<String>

Ich weiß, dass es einen Shortcut gibt, um Eclipse quasi mal zu "refreshen". Wäre nett, wenn mir den jemand mitteilen könnte, gerne auch mit den technischen Hintergründen, denn für mich als Anfänger ist nicht nachvollziehbar, was genau hier passiert.

Ich glaube, dass es etwas mit der import-Anweisung zu tun hat.

Vielen Dank im Voraus.
 
Jepp. Und genauso wenig ergibt der Versuch mit
Java:
Collection<int, String>
Sinn. Collection hat nur einen Typparameter, nämlich den Typ der in der Collection gespeicherten Elemente.
Man kann nicht sagen "int oder String" (oder was auch immer du mit <int, String> ausdrücken wolltest), zumal int auch primitiv ist und somit als Typargument eh nicht geht.
 
Am Einfachsten änderst du mal unter Properties (Alt + Enter) -> Java Compiler -> Compiler compliance level das compliance level, anschließend baut Eclipse das ganze Projekt neu.
 
Hi zusammen. Vielen Dank für die schnelle Reaktion und die guten Tipps. Leider bin nicht jeden Tag on.
@lara99 : Die Einstellung Compliance Level habe ich da nicht gefunden. Wo stelle ich die ein ?
 

Neue Themen


Zurück
Oben