0

Java は初めてですが、Objective-C は知っています。ダウンロードしたオブジェクトのフィールド < キー、値 > にアクセスする必要があります。

以下はコードです:

carSchemaおよびは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);
            }

    }
....

results は、基本的に HashMap であるリモート データベースからダウンロードされたオブジェクトです。毎回返されるオブジェクトが 1 つだけであると仮定すると、返された結果オブジェクトの Key & Values にアクセスするコードは何でしょうか?

見たい場合に備えて、コードを完成させてください。

編集

私はこのようなことをすることができます:

    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");
        }
4

1 に答える 1

1

すべてのキーが必要な場合は、次のようにします。

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。その値はたまたまオブジェクトのリストです。したがって、そのリストも繰り返し処理し、リストから各オブジェクトを取得する必要があります。

于 2013-09-17T23:46:53.857 に答える