You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在两个ArrayList间传递值?提取对象字符串字段存入目标ArrayList

解决方案:提取Tipologia对象的字符串字段到ArrayList

没问题,这其实很容易实现,我给你几种常用的方式,适配不同的Java版本和编码习惯:

方法1:传统for循环

如果你的项目还在使用较老的Java版本(Java 5之前),或者需要用到索引操作,可以用这种方式:

ArrayList<Tipologia> arraySpinner = Articolo.CaricamentoTipologie();
ArrayList<String> arrayTemp = new ArrayList<String>();

for (int i = 0; i < arraySpinner.size(); i++) {
    Tipologia tipologia = arraySpinner.get(i);
    // 调用GetNomeTipologia()获取字符串字段并添加到arrayTemp
    arrayTemp.add(tipologia.GetNomeTipologia());
}

方法2:增强for循环(foreach)

Java 5及以上版本推荐这种写法,代码更简洁易读:

ArrayList<Tipologia> arraySpinner = Articolo.CaricamentoTipologie();
ArrayList<String> arrayTemp = new ArrayList<String>();

for (Tipologia tipologia : arraySpinner) {
    arrayTemp.add(tipologia.GetNomeTipologia());
}

方法3:Java 8+ Stream API

如果你的项目使用Java 8或更高版本,Stream API能让代码更优雅简洁:

import java.util.stream.Collectors;

ArrayList<Tipologia> arraySpinner = Articolo.CaricamentoTipologie();
// 直接通过Stream转换并收集为ArrayList
ArrayList<String> arrayTemp = arraySpinner.stream()
        .map(Tipologia::GetNomeTipologia) // 映射每个Tipologia对象到它的Nome字段
        .collect(Collectors.toCollection(ArrayList::new));

如果不需要严格的ArrayList类型,用Collectors.toList()会更简便(返回的是List接口实现):

List<String> arrayTemp = arraySpinner.stream()
        .map(Tipologia::GetNomeTipologia)
        .collect(Collectors.toList());

小提示

要注意如果arraySpinner里可能存在null元素,调用GetNomeTipologia()会抛出NullPointerException,可以添加过滤逻辑避免这种情况:

import java.util.Objects;

ArrayList<String> arrayTemp = arraySpinner.stream()
        .filter(Objects::nonNull) // 过滤掉null的Tipologia对象
        .map(Tipologia::GetNomeTipologia)
        .collect(Collectors.toCollection(ArrayList::new));

内容的提问来源于stack exchange,提问作者riki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:44:49