using unsafe operations?

Status
Nicht offen für weitere Antworten.

Gravity7

Mitglied
Hallo!

Ich bekomme beim compilen einer meiner Klassen folgende Info: "..uses unchecked or unsafe operations."

Hier ist der code wo ich denke dass dies Passiert (denn der rest der Klasse ist trivial):

Code:
        String output = "";

        Set entries = kreuzListe.entrySet();
        Iterator it = entries.iterator();
        while (it.hasNext()) {
            Map.Entry<Student, Integer> entry = (Map.Entry) it.next();
            output += entry.getKey().getMatrNr() + ": " + ((Integer) entry.getValue()) + "\n";
        }
        return output;

Weiß jemand woran es liegt? Ich denke es liegt an den Generics, jedoch weiß ich nicht, wie ich das ganze "safe" und "checked" machen soll... was muss ich noch zusätzlich angeben bzw. beachten?
 

Nader

Mitglied
Hallo!

Ich bekomme beim compilen einer meiner Klassen folgende Info: "..uses unchecked or unsafe operations."

Hier ist der code wo ich denke dass dies Passiert (denn der rest der Klasse ist trivial):

Code:
        String output = "";

        Set entries = kreuzListe.entrySet();
        Iterator it = entries.iterator();
        while (it.hasNext()) {
            Map.Entry<Student, Integer> entry = (Map.Entry) it.next();
            output += entry.getKey().getMatrNr() + ": " + ((Integer) entry.getValue()) + "\n";
        }
        return output;

Weiß jemand woran es liegt? Ich denke es liegt an den Generics, jedoch weiß ich nicht, wie ich das ganze "safe" und "checked" machen soll... was muss ich noch zusätzlich angeben bzw. beachten?

in diesen zwei Stellen musst du auch eine Typzuweisung schreiben:
(dann sind die unchecked or unsafe Meldungen weg:)).
Java:
String output = "";

        Set entries = kreuzListe.entrySet();   // <=== Set<...>
        Iterator it = entries.iterator();          //  <=== Iterator<...>
        while (it.hasNext()) {
            Map.Entry<Student, Integer> entry = (Map.Entry) it.next();
            output += entry.getKey().getMatrNr() + ": " + ((Integer) entry.getValue()) + "\n";
        }
        return output;
 
S

Spacerat

Gast
Wenn [c]kreuzListe[/c] ein [c]Set<Student, Integer>[/c] ist, ist die Antwort recht Simpel.
Java:
Set<Student, Integer> entries = kreuzListe.entrySet();
Iterator<Map.Entry<Student, Integer>> it = entries.iterator();
@Edit: :gaen: ...mal wieder zu langsam...
 
Zuletzt bearbeitet von einem Moderator:
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben