0

私は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 for 内に println と書くと、同じことが得られます。

私がこれを使用する場合:

   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 から文字列を取得する方法がわかりません。文字列のインデックスを知り、後で置き換える必要があります。

4

1 に答える 1

0

この例では

String[] temp=null;
for(String s : lista) {
    temp = s.split("\\W+"); 
} 
System.out.println(temp);

オブジェクトを印刷しようとすると、そのtoString()メソッドが呼び出されます。実際、値は出力していませんが、オブジェクトであるStringの配列を出力しています。Strings

2 番目のスニペットでは、「 int引数str.valueOf(i);の文字列表現」を返しています。

あなたがおそらくやりたいことは

  1. ここで行ったように、要素をいくつかのテーブルに分割しますtemp = s.split("\\W+");
  2. そして、次を使用して配列を反復処理しforeachます。

どのように見えるでしょうか

for (String s : yourStringArray) {
    System.out.println(s);
}

これが役立つことを願っています...ほぼ1年後;)

于 2013-10-08T14:31:30.927 に答える