不,org.codehaus.jettison.json.JSONArray 不是不可变的。
当您这样做jsonArray = ja1
时,原始对象保持不变,仅更新 myMethod 范围内的本地引用。
要对传递的对象进行更改,您可以在传递的引用上调用方法或返回修改后的对象。
String jsonArrayAsString;
JSONArray ja = new JSONArray(jsonArrayAsString)
myMethod(ja);
// ja now contains new object element
ja = myMethod1(ja);
// ja now points to a new JSONArray containing an elements from the original array with another additional element
public void myMethod(JSONArray jsonArray){
jsonArray.put(object); // this will add object to the original JSONArray
}
public JSONArray myMethod1(JSONArray jsonArray){
JSONArray a = new JSONArray();
a.put(jsonArray.get(0));
a.put(object);
return a;
}
PS:请浏览另一个答案中提到的链接,该链接显示了参考如何在 Java 中工作。