- PR -

ArrayList

1
投稿者投稿内容
つん
会議室デビュー日: 2004/04/13
投稿数: 18
投稿日時: 2004-04-13 13:32
毎々御世話になっております。
ArrayListについてお聞きしたいのですが、
以下のコーディングではString配列をaddする度に上書きされてしまうのですが
どの部分がおかしいか指摘して頂ければ幸いです。
宜しくお願い致します。
※各値は取得できています。

// ResultSet rs_inst
// String[] str = new String[columnNum];
while( rs_inst.next() ) {
if( null == strReceipt ) {
strReceipt = rs_inst.getString( 1 );
for( int i = 0; i < columnNum; i++ ) {
str[i] = rs_inst.getString( i + 1 );
}
} else if( strReceipt.equals( rs_inst.getString( 1 ) ) ) {
str[11] = rs_inst.getString( 12 );
} else if( !strReceipt.equals( rs_inst.getString( 1 ) ) ) {
al.add( str );
strReceipt = rs_inst.getString( 1 );
for( int i = 0; i < columnNum; i++ ) {
str[i] = rs_inst.getString( i + 1 );
}
}
}
al.add( str );
丘波乗
会議室デビュー日: 2004/04/13
投稿数: 6
投稿日時: 2004-04-13 17:01
こんにちは。

while( rs_inst.next() ) { の中で
String[] str = new String[columnNum]; すればよいのでは?

Listには配列への参照を登録しているだけなので
使いまわすとそのような事が起きると思います。
そのスコープ({ ... } の間)でしか使わない変数は、
スコープ内で定義するように意識するとミスが減りますよ。
1

スキルアップ/キャリアアップ(JOB@IT)