fastjson 深拷贝一个ArrayList对象
时间: 2023-08-24 15:07:43 浏览: 166
你可以使用 fastjson 库来实现深拷贝一个 ArrayList 对象。下面是一个示例代码:
```java
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
public class Main {
public static void main(String[] args) {
ArrayList<String> sourceList = new ArrayList<>();
sourceList.add("item1");
sourceList.add("item2");
// 使用 fastjson 进行深拷贝
ArrayList<String> deepCopyList = JSON.parseObject(JSON.toJSONString(sourceList), new TypeReference<ArrayList<String>>() {});
// 修改原始列表
sourceList.add("item3");
// 打印深拷贝列表和原始列表
System.out.println("Deep Copy List: " + deepCopyList);
System.out.println("Source List: " + sourceList);
}
}
```
在上述代码中,我们使用 `JSON.toJSONString()` 方法将源列表对象转换为 JSON 字符串,然后使用 `JSON.parseObject()` 方法将 JSON 字符串转换回 ArrayList 类型,并指定 `TypeReference<ArrayList<String>>` 作为泛型参数来确保正确的类型转换。这样就得到了一个 ArrayList 的深拷贝。
注意:为了使用 fastjson 库,你需要添加相应的依赖。你可以在 Maven 中添加以下依赖项:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>
```
请注意,这只是一个示例,你可以根据实际情况进行修改和适配。
阅读全文