JSONObject 深拷贝list
时间: 2023-08-25 18:13:22 浏览: 90
要使用`JSONObject`实现深拷贝List,你可以使用`JSONArray`和`JSONObject`类来完成。下面是一个示例代码:
```java
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class JSONDeepCopyListExample {
public static void main(String[] args) {
List<String> originalList = new ArrayList<>();
originalList.add("Apple");
originalList.add("Banana");
originalList.add("Orange");
// 使用JSONObject和JSONArray实现深拷贝
List<String> copiedList = deepCopyList(originalList);
// 打印原始List和拷贝List的内容
System.out.println("Original List: " + originalList);
System.out.println("Copied List: " + copiedList);
}
public static List<String> deepCopyList(List<String> originalList) {
List<String> copiedList = new ArrayList<>();
try {
JSONArray jsonArray = new JSONArray(originalList);
for (int i = 0; i < jsonArray.length(); i++) {
copiedList.add(jsonArray.getString(i));
}
} catch (JSONException e) {
e.printStackTrace();
}
return copiedList;
}
}
```
在示例代码中,我们首先创建了一个原始的List `originalList`,其中包含了一些String元素。
然后,我们使用`deepCopyList`方法来进行深拷贝。该方法接受一个原始的List作为参数,并返回一个新的深拷贝的List。在方法内部,我们将原始List转换为`JSONArray`,然后逐个提取元素并添加到新的List中。
最后,我们打印了原始List和拷贝List的内容。
请确保在使用`JSONObject`和`JSONArray`时添加正确的依赖,例如使用Maven:
```xml
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20210307</version>
</dependency>
```
希望这个示例对你有帮助!如果还有其他问题,请随时提问。
阅读全文