我有一个ArrayList:
private static ArrayList<String> lista;
static void fileReading() {
inp = new LineNumberReader(new BufferedReader(new InputStreamReader(new FileInputStream(inFileNev), "ISO8859-1")));
String sor;
while ((sor = inp.readLine()) != null) {
lista.add(sor);
lista.add(System.getProperty("line.separator"));
}
我需要来自此的字符串,而不是整行(如“pakcage”和“asd;”)。 我试过这些,但没有一个有效:
String[] temp=null;
for(String s : lista) {
temp = s.split("\\W+");
}
System.out.println(temp);
我得到:[Ljava.lang.String; @ 6ef53890 如果我写的println在for中我得到的相同,只是更多。
如果我使用它:
String str ="" ;
for(int i=0; i<lista.size(); i++){
str+=lista.get(i)+" ";
String[] temp = new String[str.length()];
for(int i=0; i < str.length(); i++) {
temp[i]=str.valueOf(i);
System.out.println(temp[i]);
}
我只得到数字,并且无法弄清楚如何从str获取字符串。 我需要知道字符串索引,并在以后替换它们。
答案 0 :(得分:0)
在这个例子中
String[] temp=null;
for(String s : lista) {
temp = s.split("\\W+");
}
System.out.println(temp);
尝试打印对象将导致调用其toString()
方法。实际上,您不是打印任何String
值,而是打印Strings
的数组,它是一个对象。
在您的第二个代码段str.valueOf(i);
中返回“ int 参数的字符串表示形式。”
您可能想要做的是
temp = s.split("\\W+");
foreach
:看起来像
for (String s : yourStringArray) {
System.out.println(s);
}
希望这有助于......差不多一年之后;)