java - java - 如何使用来自不同数据类型的其他列表的值填充java中的列表?
问题描述
我有两个类型列表List<A>
和List<B>
. 现在,我要做的是创建一个List<C>
,其值将从其他两个列表中读取。我尝试并实现了这样的东西。
public void fileUpload(int customerId) throws SQLException, IOException {
myList = myTiedosto.getFileDetails(customerId);
attachmentDetails = myAttachment.getAttachmentDetails(customerId);
List<Upload> uploadList = new ArrayList<>();
for (Attachment attachment : attachmentDetails) {
Upload upload = new Upload();
upload.setUuid(attachment.getUuid());
for (Tiedosto tiedosto : myList) {
upload.setCustomerId(tiedosto.getCustomerId());
upload.setFileName(tiedosto.getFileName());
upload.setFileSize(tiedosto.getFileSize());
upload.setContent(tiedosto.getContent());
}
uploadList.add(upload);
}
for (Upload myUploadList : uploadList) {
System.out.println(myUploadList.getCustomerId()+" " +myUploadList.getFileName()+" "+myUploadList.getUuid()+" "+myUploadList.getFileSize());
}
}
当我运行它时,myUploadList 两次返回相同的条目。 输出
我是 Java 新手,非常感谢一些帮助。
解决方案
根据您的评论,您应该创建Upload
实例并将其添加到List
内部循环内的输出中:
for (Attachment attachment : attachmentDetails) {
for (Tiedosto tiedosto : myList) {
Upload upload = new Upload();
upload.setUuid(attachment.getUuid());
upload.setCustomerId(tiedosto.getCustomerId());
upload.setFileName(tiedosto.getFileName());
upload.setFileSize(tiedosto.getFileSize());
upload.setContent(tiedosto.getContent());
uploadList.add(upload);
}
}
Upload
这将从每对Attachment
和创建一个实例Tiedosto
。
编辑:
根据您的最新评论,最好使用传统的 for 循环,因为您想Upload
从每对Attachment
和Tiedosto
具有相同索引的实例创建一个实例:
for (int i = 0 ; i < attachmentDetails.size(); i++) {
Tiedosto tiedosto = myList.get(i);
Upload upload = new Upload();
upload.setUuid(attachmentDetails.get(i).getUuid());
upload.setCustomerId(tiedosto.getCustomerId());
upload.setFileName(tiedosto.getFileName());
upload.setFileSize(tiedosto.getFileSize());
upload.setContent(tiedosto.getContent());
uploadList.add(upload);
}
推荐阅读
- javascript - 使用 Javascript 的 POST 方法在 Servlet 中获取 JSON 数据不起作用
- c# - 如何在 ASP.NET MVC 中使用多个提交按钮
- python-3.x - 如何使用python读取自动发送到手机的OTP?
- android - 使用 base64 的 WebView 不加载图像
- vbscript - 是否可以从alm重命名下载的附件?
- postgresql - 将多个 csv.gz 格式导入 windows 上的 postgres 表
- python - 为什么我的 sigmoid 函数返回的值不在 ]0,1[ 区间内?
- docker - 昨天成功运行的 Docker 命令和设置今天开始在 Windows 10 上突然出现错误“ENOENT”
- javascript - 什么是在谷歌地图 API 中创建三角形坐标的理想方法,其中两个位置点由纬度和经度组成
- css - 使 thead 固定且 tbody 可滚动后,thead 和 tbody 未正确对齐