Java 摆动:将列表中的选定值存储到数组中。

Java 摆动:将列表中的选定值存储到数组中。,java,swing,selection,jlist,Java,Swing,Selection,Jlist,我用java列了一个清单如下: String names[] = {"abc@gmail.com", "def@gmail.com","ghi@gmail.com","jkl@gmail.com"}; JList places = new JList(names) ; 然后,为了访问我在valueChanged方法中写入的选定值: String[] emailID= places.getSelectedValuesList().toString[]; 这是不正确的。。。请帮助我如何重写这

我用java列了一个清单如下:

 String names[] = {"abc@gmail.com", "def@gmail.com","ghi@gmail.com","jkl@gmail.com"};
 JList places = new JList(names) ;
然后,为了访问我在valueChanged方法中写入的选定值:

String[] emailID= places.getSelectedValuesList().toString[];

这是不正确的。。。请帮助我如何重写这一行,以便将选定的值存储在数组中。

如果您希望将所有选定项作为一个数组,可以执行以下操作:

public static void main(String[] args){

    String names[] = {"abc@gmail.com", "def@gmail.com","ghi@gmail.com","jkl@gmail.com"};
    JList<String> places = new JList<String>(names) ;

    places.setSelectedIndices(new int[]{0,1,2});

    String[] emailIDs = places.getSelectedValuesList().toArray(new String[]{});

    for(String s : emailIDs){
        System.out.println(s);
    }
}
publicstaticvoidmain(字符串[]args){
字符串名称[]={”abc@gmail.com", "def@gmail.com","ghi@gmail.com","jkl@gmail.com"};
JList places=新JList(名称);
places.setSelectedDices(新int[]{0,1,2});
字符串[]emailIDs=places.getSelectedValuesList().toArray(新字符串[]{});
用于(字符串s:EmailID){
系统输出打印项次;
}
}
注:


我将
添加到列表中,因为我假设您总是希望字符串作为值。这样,您就可以获得具有通用输出的List
.toArray()
方法。否则,您需要获取一个
对象[]
(对象数组)并强制转换值。

要在字符串数组中存储所选项目,您可以尝试以下方法

  Object[] values = places.getSelectedValues();
    String[] strings = new String[values.length];
    for(int i = 0; i < values.length; i++) {
      if(values[i] instanceof String) {
        strings[i] = ((String) values[i]);
      }
    }
Object[]values=places.getSelectedValues();
String[]strings=新字符串[values.length];
对于(int i=0;i
没有
toString[]
方法。你的意思是
String emailID=places.getSelectedValueList().toString()
?@Loki否我想将所有选定的数据插入字符串类型的数组中,我该怎么做?下面的(工作代码示例)Oracles教程如何使用List和如何使用ListSelectionListener有什么问题吗