我有一个非常简单的问题-
我有一个名为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);
我在这里做什么错?
最佳答案
您需要先创建一个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);