2013-04-12 11 views
5

ich Probleme, wurde für Rückgabewert von Put die Erklärung zu verstehen() in einer HashMapRückgabewert von put() in HashMap: Java

private Map<Bookmark, Integer> mDevice = new HashMap<String, Integer>(); 

    String abc = "two" 
    Integer ret = mDevice.put(abc, ONLINE); 

Bin ich richtig in ihm Folgendes sagen:

  1. wenn abc Schlüssel bereits mit dem Wert „OFFLINE“ existiert, ret gleich
  2. wenn abc Schlüssel bereits mit dem Wert „ONLINE“ existiert OFFLINE, ret gleich ONLINE
  3. wenn abc Schlüssel nicht existiert, dann ret ist gleich null.

Danke.

+0

Dies ist eine legitime Frage, warum die -1? – Sunny

+0

Lesen Sie die Javadocs. Ihr Verständnis ist ziemlich falsch: http://docs.oracle.com/javase/7/docs/api/ – duffymo

+0

sehen, warum ich fragte ... also warum die negativen Stimmen. – Sunny

Antwort

11

Die Methode Put hat einen Rückgabetyp gleiche mit dem Wert:

@Override 
    public V put(K key, V value) { 
     return putImpl(key, value); 
    } 

Verfahren den angegebenen Wert mit dem angegebenen Schlüssel in dieser Karte zuordnet. Wenn die Zuordnung zuvor eine Zuordnung für den Schlüssel enthielt, wird der alte Wert ersetzt.
Es gibt den vorherigen Wert zurück, der dem Schlüssel zugeordnet ist, oder null, wenn es keine Zuordnung für den Schlüssel gibt. So sind Ihre Punkte richtig.
Für weitere Details besuchen Sie bitte here

+1

Schöne Informationen! Vielen Dank... – normalUser