2017-06-12 11 views
0

イテレータにデータのリストがあります。これを文字列に格納します。どうしたらいいですか?ここに私のコードです。リストデータをJavaの文字列として取得する

List ln = readData(iStepNumber, status, query); 

Iterator itr = ln.iterator(); 

System.out.println("listttt"+ln); 

while(itr.hasNext()) { 
    System.out.println("itr value1 :"+itr.next()); 
    //what to do to store itr.next() in a string 
    //for example String a=itr.next()? 
} 

これは、代わりにちょうどitr.next()を印刷する私は、コンソール

listttt[2017-06-30 23:59:59] 
itr value1 :2017-06-30 23:59:59 
+0

リスト内のすべての項目が同じ文字列に必要な場合は、StringBuilderまたはStringBufferを使用して文字列を作成してください。 –

+0

期待している文字列の種類を指定する必要があります。 'String.join("、 "、ln)'はあなたが探しているものかもしれませんが、あなたの現在の出力に何が間違っているのか分かりません。 – Aaron

答えて

0

のリストを取ります。これにより、コード内に反復処理を必要とせずにすべてのデータが表示されます。

2

で得るものです、このような文字列変数に保存します。あなたはより多くを持っている場合は

String yourString = itr.next();

リスト内の1つのアイテムよりも、yourString += itr.next()、またはStringBuilderとのいずれかを使用できます0の方がはるかに効率的です。

1

あなたはJavaの8ストリームAPIを使用することができたStringBuffer

List ln = readData(iStepNumber, status, query); 
Iterator itr = ln.iterator(); 
System.out.println("listttt"+ln); 

StringBuffer sBuffer = new StringBuffer(); 

while(itr.hasNext()){ 
    sBuffer.append(itr.next()); 
    System.out.println("itr value1 :"+itr.next()); 
} 
0

を使用する必要があります。
ちょうどSystem.out.println(list)を使用して、オブジェクトと出力リストでtoString()メソッドを実装し、それぞれのオブジェクトタイプ

List<Object> ln = readData(iStepNumber, status, query); 
Iterator itr = ln.iterator(); 
System.out.println("listttt"+ln); 

// Now call the stream() method on list 

String data=ln.stream() 
       .map(Object::toString) 
       .collect(Collectors.joining(",")); 

// Here use whatever you want as string in joining method string and print 
// or do what ever you want with string data. 

System.out.println(data); 
関連する問題