ないclear()
方法は、JSONオブジェクトが参照する値を空に?
例えば :
JSONObject obj = new JSONObject();
JSONObject objtemp = new JSONObject();
JSONArray arr = new JSONArray();
String[] details;
for (int i = 0; i < tempvals.length; ++i) {
objtemp.clear();
details = tempvals[i].split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
objtemp.put("inspectionDate", details[7]);
objtemp.put("code", details[9]);
objtemp.put("description", details[10]);
objtemp.put("score", details[12]);
objtemp.put("grade", details[13]);
objtemp.put("gradeDate", details[14]);
arr.add(objtemp);
}
obj.put("violationDetails", arr);
arr.clear();
obj
上記のコードを実行した後、上記のオブジェクトはnullになります。clearメソッドを使用する私の目的は、反復ごとに新しいオブジェクトが作成されないようにすることです。
はい、参照をクリアします。参照は1つだけです。次に、それをクリアし、データを追加します(ただし、インスタンスは1つだけです)。あなたは次のようなものが必要です
// JSONObject objtemp = new JSONObject();
for (int i = 0; i < tempvals.length; ++i) {
// objtemp.clear(); // <-- only one objtemp.
JSONObject objtemp = new JSONObject();
details = tempvals[i].split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
objtemp.put("inspectionDate", details[7]);
objtemp.put("code", details[9]);
objtemp.put("description", details[10]);
objtemp.put("score", details[12]);
objtemp.put("grade", details[13]);
objtemp.put("gradeDate", details[14]);
arr.add(objtemp);
}
obj.put("violationDetails", arr);
// arr.clear(); // <-- would empty arr in `obj`.
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加