我使用的是两个类是变量类,另一个是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);
}
}
}
如何使用此类的get / set。这里我得到空指针异常如何解决呢?
答案 0 :(得分:2)
您可以执行@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);
}
}
答案 1 :(得分:1)
上面的代码会给你一个空指针。原因:您的数组列表未初始化。
您需要在类的构造函数中初始化它们。
此外,最好定义更多方法,而不是将数据添加到数组列表的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方法!