在Java中将元素添加到私有Arraylist
从另一个类向ArrayList添加新元素时遇到问题 此类是ArrayList所在的位置:在Java中将元素添加到私有Arraylist,java,arraylist,Java,Arraylist,从另一个类向ArrayList添加新元素时遇到问题 此类是ArrayList所在的位置: public class Registry { private ArrayList<Integer> nums = new ArrayList<Integer>(); public void addNum(int num) { this.nums.add(num); } } 它不会将num添加到reg.nums..为公共类的私有对象提供公共访
public class Registry {
private ArrayList<Integer> nums = new ArrayList<Integer>();
public void addNum(int num) {
this.nums.add(num);
}
}
它不会将num
添加到reg.nums..为公共类的私有对象提供公共访问器函数满足对象封装的所有要求,我看不出您不能访问此类对象的任何原因
我不确定你是如何检查结果的。因此,考虑举个例子来检查它是否有效
注册表类
public class Registry {
private ArrayList<Integer> nums = new ArrayList<Integer>();
public void addNum(int num) {
this.nums.add(num);
System.out.println("Size of array: " + this.nums.size());
for (int n: nums){
System.out.println("Element of the array: " + n);
}
}
}
输出:
数组大小:1数组的元素:11
数组大小:2
数组的元素:11
数组元素:22你怎么知道
nums
是private
并且您没有访问器。Registry
是否有获取Arraylist的方法?是否有错误?您看到了什么错误?我刚刚试过你的例子,效果如预期。我很感激你为了清晰起见试图删减这个例子,但我认为你做得有点过头了。从我们看到的情况来看,这应该是可行的。也许向我们展示一下你是如何访问阵列的,告诉我们什么都没有添加?
public class Registry {
private ArrayList<Integer> nums = new ArrayList<Integer>();
public void addNum(int num) {
this.nums.add(num);
System.out.println("Size of array: " + this.nums.size());
for (int n: nums){
System.out.println("Element of the array: " + n);
}
}
}
public class TestArrayList {
public static void main(String[] args){
Registry reg = new Registry();
reg.addNum(11);
reg.addNum(22);
}
}