在实例化类时抛出异常

时间:2013-03-02 22:19:59

标签: java list class constructor instantiation

我有一个非常简单的问题 -

我有一个名为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())和String作为值来实例化id类,如下所示。

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

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

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

您需要先制作List,然后将密钥添加到List。像你已经完成的那样投射不是这样做的,因为DEKey 一个List并且投入它会抛出ClassCastException

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

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

DEClient deClient = new DEClient(list);
相关问题