java类类似于Android Bundle类

时间:2015-07-11 09:37:54

标签: java android

android中有一个有用的类(至少对我而言)。 Bundle类,它允许您放置一种键值。但是值可以是不同的已建立的对象类。

例如:

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

java中有一个类似的类

2 个答案:

答案 0 :(得分: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 :(得分: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;
        }
    }

}