我該如何減少這一點在java中用於Android的反射幾行?使用反射來投射一個對象在java中爲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 ...
我不是Android開發人員,所以我爲我的無知感到抱歉,但爲什麼你甚至檢查'value'類型? 'this._properties.put(key,value)是否有問題;'? – Pshemo
@Pshemo'ContentValues'沒有一個通用的'put object'方法,只有某些類型的類型化方法(因爲內部序列化/ parcel):http://developer.android.com/reference/android/content/ContentValues .html當使用這些時,最好是轉換而不是轉換爲一個字符串,但這會減少只需稍微使用的代碼(例如'this._properties.put(key,(Byte)value)')。 –
'this._properties.put(key,(Byte)value))'與this._properties.put(key,Byte.valueOf(value.toString()))'是一樣的,對吧? – spacebiker