2015-07-11 89 views
1

在android中有一個有用的類(至少對我而言)。 Bundle類它允許你放一種配對鍵值。但是價值可以是不同的既定類別的對象。類似於Android的java類Bundle類

例如:

Bundle mBundle = new Bundle(); 
mBundle.putInt("Number One", 1); 
mBundle.putBoolean("True", true); 

現在沒有在java一個同級?

回答

1

不,我知道的,但它很容易複製與HashMap

public class Bundle extends HashMap<String,Object>{ 

    public void putString(String key, String str){ 
     put(key, str); 
    } 

    public String getString(String key){ 
     Object o = get(key); 
     if(o!=null && o instanceof String) 
     return (String) o; 
     return null; 
    } 

    public void putInteger(String key, int anInt){ 
     put(key, new Integer(anInt)); 
    } 

    public Integer getInteger(String key){ 
     Object o = get(key); 
     if(o!=null && o instanceof Integer) 
     return (Integer) o; 
     return null; 
    } 

    ... 

} 
+1

您可以擴展'Map '。 – Titus

0

我不認爲Java包含這種Object默認,但你可以創建一個:

public class Bundle extends HashMap<String, Object> { 

    public void putInt(String key, int value) { 
     put(key, value); 
    } 

    public void putString(String key, String value) { 
     put(key, value); 
    } 

    public Integer getInt(String key) { 
     if (containsKey(key) && get(key) instanceof Integer) { 
      return (Integer) get(key); 
     } else { 
      return null; 
     } 
    } 

    public String getString(String key) { 
     if (containsKey(key) && get(key) instanceof String) { 
      return (String) get(key); 
     } else { 
      return null; 
     } 
    } 

}