我正在尝试从文本文件中读取字符串,只要有空格就拆分字符串,并将每个字存储在字符串数组中:
例如。输入"Hello i am a sentence"
输出[Hello, i, am, a, sentence]
我目前有以下
Scanner sc = null;
try
{
sc = new Scanner(new FileReader(args[0]));
LinkedList<String> list = new LinkedList<String>();
String str = sc.nextLine();
for(String i:str.split(" ")){
list.add(i);
}
String[] arguments = list.toArray(new String[list.size()]);
System.out.println(arguments);
}
catch (FileNotFoundException e) {}
finally
{
if (sc != null) sc.close();
}
但我无法将列表转换为数组,我得到以下输出
[Ljava.lang.String;@45ee12a7
答案 0 :(得分:2)
您不需要将其List
再次转换为正常Array
,只需这样做,让我们说它是您的字符串
String string = "Hello i am a sentence";
您可以执行
String[] array = string.split("\\s", -1);
或强>
String[] array = string.split(" ", -1);
两者都给出相同的结果!
答案 1 :(得分:0)
尝试使用for
循环来填充数组:
String[] arguments = list.toArray(new String[list.size()]);
for (int i = 0; i < list.size(); i++) {
arguments[i] = list.get(i);
}
使用foreach
迭代并打印数组元素:
for (String arg: arguments) {
System.out.println(arg);
}