我是Java新手,但我知道目标-C。我需要访问下载对象中的字段。
以下是代码:
car是Schema,car_id是要查询的字段。
Map<String, List<SMObject>> feedback = new HashMap<String, List<SMObject>>();
List<SMCondition> query = new ArrayList<SMCondition>();
DataService ds = serviceProvider.getDataService();
List<SMObject> results;
try {
query.add(new SMEquals("car_id", new SMString(make)));
results = ds.readObjects("car", query);
if (results != null && results.size() > 0) {
feedback.put(make, results);
}
}
....结果是从基本上是HashMap的远程数据库下载的对象。假设每次只返回一个对象,那么访问键的代码是什么&返回结果对象中的值?
编辑
我可以这样做吗?
SMObject resultObj;
if (results != null && results.size() > 0) {
resultObj = results[0];
resultObj.put("resolved", "1");
resultObj.put("accepted", "1");
resultObj.put("declined", "0");
String model = (String)resultObj.get("model");
}发布于 2013-09-17 23:46:53
如果你想要所有的钥匙,你可以:
Map<String, List<SMObject>> feedback = new HashMap<String, List<SMObject>>();
List<String> myKeys = feedback.keySet();要获取值,可以使用get方法:
Map<String, List<SMObject>> feedback = new HashMap<String, List<SMObject>>();
feedback.get("yourKey"); 欲了解更多信息,请访问:http://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html
编辑:
SMObject resultObj;
if (results != null && results.size() > 0) {
List<SMObject> myResults = feedback.get(make);
resultObj = myResults.get(0);
resultObj.put("resolved", "1");
resultObj.put("accepted", "1");
resultObj.put("declined", "0");
String model = (String)resultObj.get("model");
}一般的概念是使用键从hashMap中获取值。该值恰好是一个对象列表;因此,您还需要对该列表进行迭代,并从列表中检索每个对象。
https://stackoverflow.com/questions/18861662
复制相似问题