我使用這部分代碼將jlist中的選擇項目獲取到字符串列表中。我得到以下結果:將字符串數組轉換爲列表:雙括號
[[String1, String2, String3,...]]
如何避免double []?由於
static List<String> strlist = new ArrayList<String>();
public class tog {
List<String> strlisttemp = new ArrayList<String>();
final JList list = new JList(strlisttemp.toArray());
list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
final ListSelectionListener listSelectionListener = new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
String lstr = list.getSelectedValuesList().toString();
System.out.println(lstr);
strlist = Arrays.asList(lstr.split("\\s*,\\s*"));
}
};
list.addListSelectionListener(listSelectionListener);
JOptionPane.showMessageDialog(null, list, "Select", JOptionPane.QUESTION_MESSAGE);
System.out.println(strlist);
}
這是有問題的一部分:當我打印LSTR它正常工作[...]。當我使用此:
strlist = Arrays.asList(lstr.split("\\s*,\\s*"));
然後的System.out.println(strlist);打印雙括號
請格式化您的代碼,它幾乎不可讀 – tom
我認爲你缺少點'list.getSelectedValuesList()。toString()'。你沒有使用'JList'的通用接口,並且當你可以從'getSelectedValuesList()'獲得'List'時,你正在解析'String'。 –
其他方式正常工作: String str =「abc,def」; System.err.println(Arrays.asList(str.split(「\\ s *,\\ s *」))); – Optional