【问题标题】:Java lists strange size malfunction [duplicate]Java列出了奇怪的大小故障[重复]
【发布时间】:2015-07-04 05:39:02
【问题描述】:

我初始化一个列表,像这样:

public List<Edge> edges = new ArrayList<Edge>(8);

之后,我想得到它的大小,但是下面的代码给出了零。

System.out.println("SIZE: " + edges.size());

两行之间没有任何值更改或方法调用。 什么会导致这种情况?

【问题讨论】:

标签: java arraylist


【解决方案1】:

constructor 的参数是容量

容量是底层数组在需要调整大小之前可以容纳的元素数。

【讨论】:

    【解决方案2】:

    List 的大小是其中元素的数量,而不是你初始化它的大小。

    【讨论】:

    • 是的,但是当我尝试添加元素时出现异常。
    • 什么样的异常?没有堆栈跟踪,我帮不了你。
    • java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
    • 堆栈跟踪怎么样?
    • 使用不带索引的“add”方法,因为您还没有要插入的位置(大小为 0)。即:“add(obj)”而不是“add(0, obj)”。
    猜你喜欢
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 2012-12-27
    相关资源
    最近更新 更多