0

私は非常に単純な問題を抱えています-

DEClientコンストラクターが次のような名前のクラスがあります-

public DEClient(List<DEKey> keys) {
    process(keys);
}

そしてDEKey クラスはこんな感じ-

public class DEKey {

    private String name;
    private String value;

    public DEKey(){
        name = null;
        value = null;
    }

    public DEKey(String name, String value){
        this.name  = name;
        this.value = value;
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }
}

今、私はDEClientコンストラクターをインスタンス化しようとしています。そのためには、が必要List<DEKey>です。

だから私がしたことは、 (を返す)と値としてDEKey以下のようにクラスをインスタンス化したことです。service.getKeys()Stringid

DEKey dk = new DEKey(service.getKeys(), id);

//The below line throws exception whenever I am running.
DEClient deClient = new DEClient((List<DEKey>) dk);

私がここで何をしているのですか?

4

1 に答える 1

1

List最初に を作成してから、その にキーを追加する必要がありますList。あなたが行ったようにキャストすることは、それを行う方法でDEKeyはありません.ListClassCastException

DEKey dk = new DEKey(service.getKeys(), id);

List<DEKey> list = new ArrayList<DEKey>();
list.add (dk);

DEClient deClient = new DEClient(list);
于 2013-03-02T22:24:36.087 に答える