Java将一个ArrayList中的项克隆到另一个ArrayList中?

标签 java android

我正在尝试将元素从一个 arrayList 复制到另一个 arrayList 中,我的应用程序开始出现错误,我认为问题在于我正在执行浅复制。

如何将一个数组中的一项添加到另一个数组中进行深层复制/克隆?

这就是我到目前为止复制元素的方式:

public ArrayList<ResolveInfo> myAppsArr = new ArrayList(); 
public ArrayList<ResolveInfo> allAppsArr = new ArrayList(); 

    myAppsArr.add(allAppsArr.get(0));

最佳答案

How can I add an item from one array into another doing a deep copy/clone?

ResolveInfo 有 constructor为您创建新的重复对象:

myAppsArr.add(new ResolveInfo(allAppsArr.get(0)));

看来这个构造函数只是在 API 17 中添加的,您可以尝试通用克隆方法:

myAppsArr.add(allAppsArr.get(0).clone()); // No promises, I haven't tested this myself

或者您可以创建一个方法来手动创建新的 ResolveInfo 对象,因为所有成员数据都是公共(public)的。

关于Java将一个ArrayList中的项克隆到另一个ArrayList中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14307647/

相关文章:

Java GUI 隐藏 Windows 任务栏

android - 从非接触式阅读器获取信息(例如金额、货币......)

java - 删除 java 版本后 Eclipse 不工作

java - 如何将八位字节字符串转换为可读字符串

java - 如何处理 Android 键盘 (IME) 中的配置更改?

android - 如何在 ViewPager 中添加多个 TextView 或其他 View

android - 内容 ://sms/in 1. 6+ 上的 ContentObserver?

android - 数据传输时出现未知主机异常

java - Eclipse 中的 LTE-CIVIL UnsatisfiedLinkError

java - 使用VBA和java生成仪表板