Compiler-Fehler Version nicht aktuell?

tsitra

Bekanntes Mitglied
Hallo allerseits,

es sieht nach einem Versionsproblem aus; was ich mir aber nicht erklärenhttp://www.java-forum.org/images/smilies/confused.gif kann ist,
woher das plötzlich kommt, denn die Methode " E higher(E e)" und E lower(E e)
sollten funktionieren in Java 6.

Oder der Parameter passt nicht zum Typparameter, den offenbar funktioniert higher(...)
und lower(...) mit Typparameter.

Was ist da los?


java -version liefert bei mir
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing)


Ich bekomme u.a. bezüglich der Methode " E higher(E e)" und E lower(E e)
ohne Eclipse SDK folgende Fehlermeldung und

C:\Program Files\Java\jdk1.6.0_05\bin>javac TreeSetTest.java
TreeSetTest.java:422: cannot find symbol
symbol : method headSet(java.lang.Integer)
location: interface java.util.Set<java.lang.Integer>
subtreeset113 = (TreeSet)treeset113.headSet(new Integer(44));
^
TreeSetTest.java:424: cannot find symbol
symbol : method last()
location: interface java.util.Set<java.lang.Integer>
System.out.println("subtreeset113.last() ---- "+subtreeset113.last());
^
TreeSetTest.java:428: cannot find symbol
symbol : method higher(int)
location: interface java.util.Set<java.lang.Integer>
Integer str33 = treeset113.higher(3); // cannot find method higher(int)
^
TreeSetTest.java:429: cannot find symbol
symbol : method lower(int)
location: interface java.util.Set<java.lang.Integer>
Integer str34 = treeset113.lower(44); //
^
Note: TreeSetTest.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
4 errors

und mit Eclipse SDK folgende Fehlermeldung:

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
xs cannot be resolved
The method headSet(Integer) is undefined for the type Set<Integer>
The method last() is undefined for the type Set<Integer>
The method higher(int) is undefined for the type Set<Integer>
The method lower(int) is undefined for the type Set<Integer>


Warum ist das so, obwohl ich
import java.util.*; verwende?

Ist die rt.jar zu alt?

Gruß
tsitra
 
Must TreeSet anstatt Set verwenden.

Danke! Das war es!

Java:
Set<Integer> subtreeset113  = new TreeSet<Integer>(); // klappt nicht

da der Compiler auf Referenztyp (links) schaut und Methoden " E higher(E e)" und E lower(E e)
nicht findet.
http://www.java-forum.org/images/smilies/embarrassed.gif
Mit
Java:
TreeSet<Integer> subtreeset113  = new TreeSet<Integer>();

klappt's dann.
Meine Güte, dass ich darüber gestolpert bin.
http://www.java-forum.org/images/smilies/cry.gif


Gruß vom Rhein,
tsitra
 

Zurück
Oben