类似于Android Bundle类的java类

类似于Android Bundle类的java类,java,android,Java,Android,android中有一个有用的类(至少对我来说)。Bundle类允许您放置一种配对键值。但该值可以是不同的已建立对象类 例如: Bundle mBundle = new Bundle(); mBundle.putInt("Number One", 1); mBundle.putBoolean("True", true); java中有一个类似的类?据我所知不是这样,但是用HashMap来重现它相当容易: public class Bundle extends HashMap<String,

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

例如:

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

java中有一个类似的类

据我所知不是这样,但是用
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;
   }

   ...

}
public类Bundle扩展了HashMap{
public void putString(字符串键、字符串str){
put(key,str);
}
公共字符串getString(字符串键){
对象o=获取(键);
if(o!=null&&o字符串实例)
返回(字符串)o;
返回null;
}
public void putInteger(字符串键,int-anInt){
put(键,新整数(anInt));
}
公共整数getInteger(字符串键){
对象o=获取(键);
if(o!=null&&o整数实例)
返回(整数)o;
返回null;
}
...
}

我认为Java默认情况下不包含此类
对象,但您可以创建一个:

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;
        }
    }

}
public类Bundle扩展了HashMap{
公共void putin(字符串键,int值){
put(键、值);
}
public void putString(字符串键、字符串值){
put(键、值);
}
公共整数getInt(字符串键){
if(containsKey(key)和get(key)instanceof Integer){
返回(整数)获取(键);
}否则{
返回null;
}
}
公共字符串getString(字符串键){
if(containsKey(key)和get(key)instanceof String){
返回(字符串)获取(键);
}否则{
返回null;
}
}
}
您可以扩展
Map