Java 如何在ArrayList中设置值
我正在创建类型为Java 如何在ArrayList中设置值,java,list,arraylist,Java,List,Arraylist,我正在创建类型为B的ArrayList: ArrayList<B> cert= new ArrayList<B>; B a = util.getCerts(path).iterator().next(); this.cert.add(a); this.certNode(certs); ArrayList证书=新的ArrayList; ba=util.getCerts(path.iterator().next(); 本证书添加(a); 此.certNode(certs)
B
的ArrayList
:
ArrayList<B> cert= new ArrayList<B>;
B a = util.getCerts(path).iterator().next();
this.cert.add(a);
this.certNode(certs);
ArrayList证书=新的ArrayList;
ba=util.getCerts(path.iterator().next();
本证书添加(a);
此.certNode(certs);
当我尝试设置该值时,出现空指针异常:
void certNode(ArrayList<B> certResp)
{
ArrayList<RespNode> exp = new ArrayList<RespNode>();
for (int i = 0; i< certResp.size(); i++) {
exp.get(i).setxxx(certResp.get(i).getxxx());
exp.get(i).setxxx(certResp.get(i).getxxx().toString());
}
}
void certNode(ArrayList certrep)
{
ArrayList exp=新的ArrayList();
对于(inti=0;i
任何帮助都会很好 由于您刚刚创建了ArrayList实例
exp
,exp.get(i)
不存在,因此无法调用exp.get(i).setxxx(…)
编辑:
尝试:
void certNode(ArrayList certrep){
ArrayList exp=新的ArrayList();
对于(inti=0;i
如果不知道
certResp.get(i).getxxx()
的返回值很难确定,但是如果它返回RespNode
,上面的代码将添加列表的RespNode
实例。因为您刚刚创建了ArrayList实例exp
,exp.get(i)
,所以你不能调用exp.get(i).setxxx(…)
编辑:
尝试:
void certNode(ArrayList certrep){
ArrayList exp=新的ArrayList();
对于(inti=0;i
如果不知道
certResp.get(i).getxxx()
的返回值很难确定,但是如果它返回RespNode
,上面的代码将添加列表的RespNode
实例。因为您刚刚创建了ArrayList实例exp
,exp.get(i)
,所以你不能调用exp.get(i).setxxx(…)
编辑:
尝试:
void certNode(ArrayList certrep){
ArrayList exp=新的ArrayList();
对于(inti=0;i
如果不知道
certResp.get(i).getxxx()
的返回值很难确定,但是如果它返回RespNode
,上面的代码将添加列表的RespNode
实例。因为您刚刚创建了ArrayList实例exp
,exp.get(i)
,所以你不能调用exp.get(i).setxxx(…)
编辑:
尝试:
void certNode(ArrayList certrep){
ArrayList exp=新的ArrayList();
对于(inti=0;i
如果不知道
certResp.get(i).getxxx()
的返回值,很难确定,但是如果它返回RespNode
,上面的代码将添加列表的RespNode
实例。问题就在这里:exp.get(i)
exp
是新创建的ArayList,因此它是空的,因此在索引i
处有一个null
,问题在这里:exp.get(i)
exp
是新创建的ArayList,因此它是空的,因此在索引i
处有一个null
,问题在这里:exp.get(i)
exp
是新创建的ArayList,因此它是空的,因此在索引i
处有一个null
,问题在这里:exp.get(i)
exp
是新创建的ArayList,因此它是空的,因此在索引i
处有一个null
您的列表“exp”是空的。在for循环中,您得到一个null值;从null调用方法将导致NullPointerException
您必须先在列表中输入值,然后才能尝试访问它们。您的列表“exp”为空。在for循环中,您得到一个null值;从null调用方法将导致NullPointerException
您必须先在列表中输入值,然后才能尝试访问它们。您的列表“exp”为空。在for循环中,您得到一个null值;从null调用方法将导致NullPointerException
您必须先在列表中输入值,然后才能尝试访问它们。您的列表“exp”为空。在for循环中,您得到一个null值;从null调用方法将导致NullPointerException
在尝试访问值之前,必须将值放入列表中。创建新的空ArrayList,即[]
exp.get(i)
给你空值
相反,您可以使用ArrayList的add方法
void certNode(ArrayList<B> certResp) {
//Here new empty list is created i.e exp=[] //no elements inside
//Suppose your certResp=[B@12312,B@123834] i.e two B class objects
ArrayList<RespNode> exp = new ArrayList<RespNode>();
for (int i = 0; i< certResp.size(); i++) { //Size of certResp=2 as it contains 2 B objects
RespNode res=new RespNode(); //Create a RespNode class as you want to add of certResp ArrayList<RespNode>
res.setxxx(certResp.get(i)); //Take value of xxx method of certResp.get(i) i.e B object xxx method and set into res.setXXX or RespNode class
exp.add(res); //add res object into ArrayList
}
}
void certNode(ArrayList certrep){
//这里创建了新的空列表,即exp=[]//其中没有元素
//假设你的证书=[B@12312,B@123834]即两个B类对象
ArrayList exp=新的ArrayList();
对于(int i=0;i
创建新的空ArrayList时,即[]
exp.get(i)
给你空值
相反,您可以使用ArrayList的add方法
void certNode(ArrayList<B> certResp) {
//Here new empty list is created i.e exp=[] //no elements inside
//Suppose your certResp=[B@12312,B@123834] i.e two B class objects
ArrayList<RespNode> exp = new ArrayList<RespNode>();
for (int i = 0; i< certResp.size(); i++) { //Size of certResp=2 as it contains 2 B objects
RespNode res=new RespNode(); //Create a RespNode class as you want to add of certResp ArrayList<RespNode>
res.setxxx(certResp.get(i)); //Take value of xxx method of certResp.get(i) i.e B object xxx method and set into res.setXXX or RespNode class
exp.add(res); //add res object into ArrayList
}
}
void certNode(ArrayList certrep){
//这里创建了新的空列表,即exp=[]//其中没有元素
//假设你的证书=[B@12312,B@123834]即两个B类对象
ArrayList exp=新的ArrayList();
对于(int i=0;i void certNode(ArrayList<B> certResp) {
ArrayList<RespNode> exp = new ArrayList<RespNode>();
for (B b : certResp){
RespNode resp = new RespNode();
resp.setxxxx(b.getxxxx());
exp.add(resp);
}
}