0

我有一些类似的代码:

ArrayList<SomeType> toGetSizeOf = new ArrayList<SomeType>();
int size = toGetSizeOf.size();

但是,第二行给了我一个 NullPointerException。有什么方法可以避免这种情况,基本上可以判断 ArrayList 是否已初始化但尚未添加任何内容?(我有一个依赖于此的if/语句)。else

提前致谢!

4

2 回答 2

2

我认为您的代码中可能还有其他问题。

以下工作正常:

ArrayList<String> toGetSizeOf = new ArrayList<String>();
int size = toGetSizeOf.size();
System.out.println(size);

这给出了 0。

调试您的代码并检查实际为空的内容。我怀疑这是你的toGetSizeOf。

于 2013-07-24T03:39:04.800 回答
0

如果您遇到问题,NullPointerException那么您应该首先检查它

你可以用...

int size = 0;
if (toGetSizeOf != null) {
    size = toGetSizeOf.size();
}

或者...

int size = toGetSizeOf == null ? 0 : toGetSizeOf.size();

您也可以使用ArrayList#isEmptywhich 返回 a boolean true,如果列表为空 ( size == 0) 或者false不是,这取决于您的需要

于 2013-07-24T03:38:07.417 回答