有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将ArrayList返回到字符串

我成功地将ArrayList值放入字符串中,当我在控制台中打印出字符串时,一切正常,它获取所有信息,但当我返回字符串时,它只显示最后一个元素

例如。 这条线上有三个车库

BMW Garages
Mercedes Garages
Toyta Garages

当我返回它时,它只显示最后一个:

Toyta Garages

以下是我正在使用的代码:

private String arrayListToString()
{
    NepGarazasCtr garCtr = new NepGarazasCtr();
    ArrayList<NepGarazas> gautGar = garCtr.gautVisusGarazus();

    String nepGar = "";

    for(NepGarazas npGar: gautGar)
    {
        nepGar = npGar.getGarazoPav();
        System.out.println(nepGar);
        //System.out.println(Arrays.toString(nepGar));
    }
    return nepGar;
}

我就是这么说的:

String[] array = { arrayListToString() };

所以我的问题是:如何返回整个字符串,而不仅仅是最后一个元素?还是不可能?我想把绳子放进JComboBox

谢谢


共 (1) 个答案

  1. # 1 楼答案

    您想在JComboBox中设置一些String。嗯,你可以简单地使用DefaultComboBoxModel<String>
    注意:下面的代码使用Java 7中的菱形运算符<>,如果使用旧的Java版本,则应更改此值

    String[] stringArray = arrayListToString() ;
    DefaultComboBoxModel<String> comboBoxModel = new DefaultComboBoxModel<>(stringArray);
    JComboBox<String> comboBox = new JComboBox<>(comboBoxModel);
    

    如您所见,您只需使用您的方法初始化stringArray
    因此,代码中的主要错误是arrayListToString()的返回类型,它可能是String[]而不是String

    private String[] arrayListToString() {
      //Look at the Zhuinden's answer ;)
    }
    

    您可能也应该更改方法的名称,例如arrayListToStringArray()现在应该更合适:)