2015-11-30 80 views
0

我想在Jtable中显示char []的内容。显然,Java不能用char来构造Jtable。由于我无法直接执行此操作,因此我试图将char[]转换为表格的矢量。我尝试了以下方法失败。如何将Char []转换为矢量

char[] X; 

Vector<String> vx = new Vector<String>(Arrays.asList(x)); 
+0

回答后,我注意到你正在试图使一个矢量''而不是'矢量'。你能澄清吗?如果我以'{'a','b','c'}开头,答案应该是“[”a“,”b“,”c“]还是'[”abc“]? –

+0

答案应该是[“a”,“b”,“c”]。我想将char []中的每个元素显示为Jtable中的自己的列。 – user5621297

+0

@ user5621297好的,我编辑了我的答案。 –

回答

0

您应该使用ArrayList而不是Vector。虽然没有简单的转换方法。一种方法是

ArrayList<String> list = new ArrayList<String>(); 
for (char a : x) 
    list.add(String.valueOf(a)); 

Arrays.asList作品对象引用,不喜欢char元的数组的数组。

如果您使用的是Java 8,另一种方式是

List<String> list = IntStream.range(0, x.length) 
          .mapToObj(i -> String.valueOf(x[i])) 
          .collect(Collectors.toList()); 
+0

我试过这个,并得到“类型列表不是通用的,不能用参数” – user5621297

+0

“0123”检查你的“输入”。它应该是'import java.util.List'。 –

+0

谢谢你指点帮助。我错过了导入并修复了第一条错误消息。我试过修改后的第一种方法,我得到的唯一错误是“只能遍历数组或java.lang.iterable的实例。”我应该用某个值替换“a”吗? – user5621297