配列を戻り値にしたメソッドについて – プログラミング – Home

配列を戻り値にしたメソッドについて
 
通知
すべてクリア

[解決済] 配列を戻り値にしたメソッドについて


海藤
 海藤
(@海藤)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

海藤と申します。

さっそく質問なのですが、String変数を要素とした配列を引数と
して与えるとその要素であるString変数に値が入っている配列が
戻り値として戻ってくるというメソッドを作りたいのですが、
うまくいきません。
Vectorだとできてしまうのですが…

ソースコードは以下のようです。
(中略)
String All[] = {index1,index2,index3};
String sql = select * from tableA where id=3;
All = searchDetail(sql,All);
System.out.println(配列要素 = + All[0]);//こちらは表示されます。
System.out.println(String変数 = + index1);//こちらは変数部分が表示されませ
ん。でも、こちらも表示させたいです。
(中略)
public String[] searchDetail(String sql,String[] All){
  try{
open();
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
   for(int k=0; k < All.length ;k++){
     All[k] = rs.getString(k + 1);
   }
}
rs.close();
stmt.close();
close();
}
catch(SQLException ex){
 System.out.println(SQLError : + ex);
 System.out.println(SQL文 : + sql);
}
catch(java.lang.Exception ex){
 System.out.println(Error : + ex);
}
return All;
}
(後略)

となっているのですが…ちなみに同様のプログラムをStringをVector
に変えて行ってみると、表示部分で両方とも表示されるのですが…

よろしくお願いします。


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

index1にAll[0]と同じ内容が入っていることを期待していますか?

> All[k] = rs.getString(k + 1);

これは、All[k]に入っているindex1を捨てて
別の文字列を入れるという意味です。
index1自体を変更するものではありません。


返信引用
海藤
 海藤
(@海藤)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

回答ありがとうございます。
うーん、VectorとStringではぜんぜん違うようですね…配列にしてしまえば
Java.util.VectorもJava.lang.Stringも同じとか考えていたのですが、ぜんぜん
見当違いなかんがえだったようです。

どうもありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました