我从json文件中检索数据并使用gson将其转换为POJO类。 我有两个变量" instancename "和" instanceid "这是我从json回应中得不到的。所以我必须设置当我得到列表"列"值。
public class Row implements Serializable{
@SerializedName("ElementInstanceID")
@Expose
private String elementInstanceID;
@SerializedName("Columns")
@Expose
@Ignore
private List<String> columns = null;
private String roominstancename;
private int roominstanceid;
public Row(){
Log.d("ROW","1");
update();
}
public String getRoominstancename() {
return roominstancename;
}
public void setRoominstancename(String roominstancename) {
this.roominstancename = roominstancename;
}
public int getRoominstanceid() {
return roominstanceid;
}
public void setRoominstanceid(int roominstanceid) {
this.roominstanceid = roominstanceid;
}
public String getElementInstanceID() {
return elementInstanceID;
}
public void setElementInstanceID(String elementInstanceID) {
this.elementInstanceID = elementInstanceID;
}
public List<String> getColumns() {
return columns;
}
public void setColumns(List<String> columns) {
this.columns = columns;
setInstance(columns);
}
public void setInstance(List<String> columns){
setRoominstancename(columns.get(0));
setRoominstanceid(Integer.parseInt(columns.get(1)));
}
public void update(){
if (columns != null && columns.size() >= 0){
setInstance(columns);
}
}
@Override
public String toString() {
return "Element ID"+elementInstanceID;
}
}
检索ROW对象的代码
final List<Row> rows = Arrays.asList(gson.fromJson(rowArray.toString(), Row[].class));
我正在尝试在获取列表行后更新
for (Row row:rows) {
row.update();
}
有什么方法可以提高效率吗?
答案 0 :(得分:0)
我建议你考虑一下 观察者设计模式 。 从简单的定义: 当对象之间存在一对多关系时使用观察者模式,例如,如果修改了一个对象,则会自动通知其依赖对象。 您可以访问此链接,this pattern有一些很好的例子。