如何在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 ...
答案 0 :(得分:2)
不需要反思:
_properties.put(key, value.toString());
不幸的是ContentValues
没有put(String, Object)
,即使内部值存储在HashMap<String, Object>
中。
为什么将值String
存储起来的作用是所有ContentValues
getAsFoo()
个访问者都支持从Foo
转换为String
。