使用反射在java中为android转换对象

时间:2013-12-12 19:01:46

标签: java android reflection

如何在java for android中使用反射将其减少到几行?

_properties 是一个ContentValues对象,是一个对象)

    if (value instanceof String)
    {
        this._properties.put(   key,    value.toString());
    } else if (value instanceof Long) {
        this._properties.put(   key,    Long.valueOf(value.toString()));
    } else if (value instanceof Integer) {
        this._properties.put(   key,    Integer.valueOf(value.toString()));
    } else if (value instanceof Boolean) {
        this._properties.put(   key,    Boolean.valueOf(value.toString()));
    } else if (value instanceof Byte) {
        this._properties.put(   key, Byte.valueOf(value.toString()));
    } else ...

1 个答案:

答案 0 :(得分:2)

不需要反思:

 _properties.put(key, value.toString());

不幸的是ContentValues没有put(String, Object),即使内部值存储在HashMap<String, Object>中。

为什么将值String存储起来的作用是所有ContentValues getAsFoo()个访问者都支持从Foo转换为String