gpt4 book ai didi

java - ArrayList 不...初始化?

转载 作者:行者123 更新时间:2023-11-29 03:00:25 25 4
gpt4 key购买 nike

我正在研究一个通用类,它必须将 T 类型值存储在私有(private) ArrayList 中并具有通常的获取、设置方法,但是当我初始化 ArrayList 时它只是保持大小为 0!我明确地使用带有 int 参数的构造函数,但它只是保持为 0。这是我的构造函数和 get 方法(该类称为 GenericVector<T> ):

public GenericVector(int n)
{
vector = new ArrayList<>(n);

}

public T get (int pos)
{
if (pos >= vector.size())
{
System.out.println("UR DOIN WRONG");
System.out.println("Size is" + vector.size());
return null;
}
return vector.get(pos);
}

这是我的主要内容:

public static void main(String[] args)
{
GenericVector<String> vec = new GenericVector<String>(5);
vec.set(0, "EEE");
System.out.println("" + vec.get(0));
}

它只是打印:

UR DOIN WRONG
Size is 0
null

我真的不明白为什么用 new ArrayList<>(n) 初始化 vector 不起作用。

最佳答案

ArrayList(int)构造函数初始化ArrayList 的容量,而不是它的大小。如果你想添加一个新元素到数组列表,你应该使用 add(T)add(int, T)方法。

关于java - ArrayList 不...初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35370180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com