私は自分の問題を説明するために最善を尽くし、うまくいけば誰かが私を助けることができます。Java arraylistにジェネリック型のデータを格納する方法
ペアクラス:
public class Pair {
String key;
Class<?> value;
public Pair(String key, Class<?> value){
this.key = key;
this.value = value;
};
// you have the setter and getter methods
}
ペアクラス:
public class Pairs {
Pair[] paris = new Pair[0];
// you have the setter and getter methods
public void addPair(Pair pair) {
// assume it will add a pair to the array
}
}
問題:私は、データベーステーブルからデータをロードする必要があります。ここでは列の種類が異なります。 BOOLEAN、VARCHAR、DATEなどがあります。だから、対応するjava型のデータをPairオブジェクトに読み込んで格納する必要があります。ジェネリック型からStringまたはBooleanに変換するにはどうすればよいですか?あなたはどうやって他の方法でやりますか?
私はStringにジェネリック型を変換するための答えを見つけました:?そして、どのように私はクラス<に文字列を変換することができます
>とのArrayListにデータを保存しますか?私が作成したいから:
Pair pair = new Pair("name", value); // but value can be String, Integer, or Boolean
ありがとう。
私はこれをしないでしょう。それは恐ろしいね。あなたが弱く型付けされた言語を望むなら、Javaは強く型付けされた言語です。 1つを使用してください。さらに、 'value'は' class'のインスタンスではなく 'Class'です。 –
@BoristheSpiderスニペットは良くないと思いますが、Jsonやデータベースなどのデータを扱う場合、言語の種類に関係なく、データをデシリアライズまたはデコードする際には常に安全ではないタイプがあります – Dici
あなたのタプルを表すクラスを定義しますか?別々に各列の代わりに。 –