![](/img/trans.png)
[英]How to access (modify, add elements) to an ArrayList/Collection in an Inner class in java?
[英]Add collection of elements base class arraylist?
我正在使用两个类,一个是变量类,另一个是arraylist测试类。 我在variablesclass中添加了多个值。 如何添加元素集合的基类arraylist?
public class VariablesClass {
private ArrayList<Integer> ids;
private ArrayList<String> names;
public ArrayList<Integer> getIds() {
return ids;
}
public void setIds(ArrayList<Integer> ids) {
this.ids = ids;
}
public ArrayList<String> getNames() {
return names;
}
public void setNames(ArrayList<String> names) {
this.names = names;
}
}
主班
public class ArraylistTest {
public static void main(String args[]) {
VariablesClass varClass = null;
try{
varClass=new VariablesClass();
varClass.setIds(11);
varClass.getIds().add(12);
varClass.getIds().add(13);
varClass.getIds().add(14);
varClass.getIds().add(15);
varClass.getNames().add("karthick");
varClass.getNames().add("Ramana");
varClass.getNames().add("Priya");
varClass.getNames().add("Madhu");
varClass.getNames().add("Ammu");
}catch(Exception e){
e.getLocalizedMessage();
}
for(int is: varClass.getIds()){
System.out.println("Integer Previous Class :"+is);
}
}
}
如何使用此类的获取/设置。 在这里我得到空指针异常如何解决呢?
您可以执行@sanket建议的操作,或者像下面这样使用当前类:
public static void main(String args[]) {
VariablesClass varClass = null;
try {
varClass = new VariablesClass();
ArrayList<Integer> ids = new ArrayList<Integer>();
ArrayList<String> names = new ArrayList<String>();
ids.add(11);
ids.add(12);
ids.add(13);
ids.add(14);
ids.add(15);
varClass.setIds(ids);
names.add("karthick");
names.add("Ramana");
names.add("Priya");
names.add("Madhu");
names.add("Ammu");
varClass.setNames(names);
} catch(Exception e) {
e.getLocalizedMessage();
}
for(int is: varClass.getIds()){
System.out.println("Integer Previous Class :"+is);
}
}
上面的代码将为您提供一个空指针。 原因:您的数组列表未初始化。
您需要在类的构造函数中对其进行初始化。
此外,最好定义除getter和setter之外的其他方法,这些方法会将数据添加到数组列表中。
public class VariablesClass {
private ArrayList<Integer> ids;
private ArrayList<String> names;
public VariablesClass() {
ids = new ArrayList<Integer>();
names = new ArrayList<String>();
}
public ArrayList<Integer> getIds() {
return ids;
}
public void setIds(ArrayList<Integer> ids) {
this.ids = ids;
}
public ArrayList<String> getNames() {
return names;
}
public void setNames(ArrayList<String> names) {
this.names = names;
}
public void addName(String name)
{
this.names.add(name);
}
public void addId(Integer id)
{
this.ids.add(id);
}
}
根据需要多次调用方法addName!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.