dポイントプレゼントキャンペーン実施中!

String q1 = "USE riyou";
st.execute(q1);
String q2 = "LOCK TABLE r1 WRITE";
st.execute(q2);
String q3 = "SELECT * FROM r1 where ban=" + items[0];
ResultSet rs = st.executeQuery(q3);

String set[] = {" ","0","1","2","3","4","5","6","7","8","9"};

for( int i = 0;i < 11;i++ ){
if( rs.getString("tou") == set[i] ){
out.println("test");
}
out.println("" + set[i] + "0000000");
}

touの中身は"1"なんですがIFの条件に合いません。なぜなんでしょうか??set[]の中には"1"が入っているはずなんですが・・・。ちなみにtouもset[2]も文字の"1"なんです。昨日から2日悩んでます;;原因のわかる方いましたらお願いします。

A 回答 (2件)

とりあえずデータベース以前の問題として・・。



誤:if( rs.getString("tou") == set[i] )

正:if( rs.getString("tou").equals(set[i]) )

でしょうか。
Stringはオブジェクトですから==で比較できません。
    • good
    • 0
この回答へのお礼

お恥ずかしいです・・・^^;
再度基本から勉強します。素早い回答ありがとうございました。

お礼日時:2005/05/19 15:44

JAVAでは、Stringの比較には、


equalsを使います
なので

if( rs.getString("tou").equals(set[i]) ){

とします
    • good
    • 0
この回答へのお礼

回答ありがとうございます。1から出直します・・・;
これでやっと先に進めます^^;

お礼日時:2005/05/19 15:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!