データベースでクエリを実行していますが、オブジェクトのジェネリックリストが返されます。以下のようにオブジェクト全体が構成されています。要するにジェネリックリストをjavaオブジェクトに変換
List<E> objDetails =
[0] --> ["name1", "value1"]
[1] --> ["name2", "value2"]
....
[n] --> ["nameN", "valueN"]
、私は戻ってオブジェクトの配列を取得し、各要素には、私がアクセスしたい名前と値のペアがあります。これらの値に到達する最も簡単な方法は何ですか?私は、この全体のリストを名前/値を保持できる、おそらく自己設計のクラスにキャストしようと考えています。キャッチは、1つは文字列であり、もう1つは整数であるということです。
私のオプションは何ですか?
編集:ここでは
は私が
private static class Clinic {
public List<ClinicDetails> details;
}
private static class ClinicDetails {
private Integer objectID;
private String healthName;
}
List<Clinic> clinic = DataServices.getResult(q);
EDIT 2この問題を解決するために定義しようとした二つのクラスです。ここ
は私が
List<Object[]> clinic = DataServices.getResult(q);
for(Object[] obj: clinic) {
for(int i = 0; i < obj.length; i++) {
System.out.println(obj[i]);
// will store in my own list now that I can access it
}
}
"名前/値を保持できる_self設計クラス_" ...実際にホイールを再作成しますか?なぜマップを使用しないのですか? –
@JuanCarlosMendoza私は同意します!あなたは私にそれをする方法を簡単に教えてくれますか? – rmw
@JuanCarlosMendozaは効率が悪く、メモリを増やし、タイプセーフでなく、いくつかの型の値が格納されている場合はキャストが必要なため、コード補完とリファクタリングができないためです。 –