@niculare は、コードを変更するために必要な最善の方法を提供します。
ただし、for ループを使用したくない場合は、if ステートメントを次のように変更する必要があります。
int idx=0;
while(idx < myList.size())
{
String url= myList.get(idx).toString() ;
String insert="INSERT into test (url) values (?)";
prepstmt = conn.prepareStatement(insert);
prepstmt .setString(r++, myURL);
idx++;
}
または、このリストがもう必要ない場合は、remove メソッドを使用します。
while(myList.size()!=0)
{
//get individual values in the array list
int idx=0;
String url= myList.remove(idx++).toString() ;
String insert="INSERT into test (url) values (?)";
prepstmt = conn.prepareStatement(insert);
prepstmt .setString(r++, myURL);
}
listIterator を使用できます。
ListIterator<String> iter = myList.listIterator();
while(iter.hasNext()){
String url = (String) iter.next();
String insert="INSERT into test (url) values (?)";
prepstmt = conn.prepareStatement(insert);
prepstmt .setString(r++, myURL);
}
繰り返しますが、最善の方法は for ループを使用することです。
そしてもう一つアドバイス。次のようにリストを作成します。
List<String> myList = new ArrayList<String>();
アップデート
これは私の例の1つです:
public class test2 {
public static void main(String ... args) {
ArrayList<String> myList = new ArrayList<String>();
myList.add("123");
myList.add("245");
myList.add("678");
ListIterator<String> iter = myList.listIterator();
while(iter.hasNext()){
String url = (String) iter.next();
System.out.println(url);
}
}