Wie kann ich zurückgeben der Liste<String> eine Methode, wo ich an setzen(Objekt) in eine Karte (habe Beispiel)

Ich habe den folgenden code

private Map<KEY, Object> values = new HashMap<KEY, Object>();

public void set(KEY key, Object value) {
    values.put(key, value);
}

private Object getObj(KEY key) {
    return values.get(key) == null ? key.getDefaultValue() : values.get(key);
}

public List<E> getList(KEY key) {
    return (List<E>) getObj(key);
}

Die Idee, in der Lage sein zu senden, in der alle Objekte in einer Karte und abrufen, aber wie löse ich die genereics-Teil in java?

Hier ist ein Beispiel code. Hier Speichere ich die Liste in die Karte:

    List<String> list = new ArrayList<String>();

    list.add("a string");

    session.set(KEY.LIST, list);

Nun möchte ich, um die Liste wieder:

List<String> list = session.getList(KEY.LIST);

Aber jetzt bekomme ich eine

cannot convert from List<E> to List<String>

Fehler aus offensichtlichen Gründen.

Ist es möglich, eine Liste(String), die aus der Methode, ohne Typumwandlungen? Ist diese Methode korrekt?

public List<E> getList(KEY key) {
    return (List<E>) getObj(key);
}
InformationsquelleAutor corgrath | 2009-09-14
Schreibe einen Kommentar