我有一些类似于此的代码:
ArrayList<SomeType> toGetSizeOf = new ArrayList<SomeType>();
int size = toGetSizeOf.size();然而,第二行是给我一个NullPointerException。有什么方法可以避免这种情况,基本上可以判断ArrayList是否已经初始化,但到目前为止还没有添加任何内容?(我有一个if/else语句依赖于此)。
提前感谢!
发布于 2013-07-24 03:39:04
我认为您的代码中可能有其他错误。
下列各项运作良好:
ArrayList<String> toGetSizeOf = new ArrayList<String>();
int size = toGetSizeOf.size();
System.out.println(size);这等于0。
调试代码并检查实际为null的内容。我怀疑这是你的toGetSizeOf。
发布于 2013-07-24 03:38:07
如果您对NullPointerException有问题,那么您应该首先检查它。
你可以用..。
int size = 0;
if (toGetSizeOf != null) {
size = toGetSizeOf.size();
}或者..。
int size = toGetSizeOf == null ? 0 : toGetSizeOf.size();您还可以使用ArrayList#isEmpty,如果列表为空(size == 0),则返回boolean true;如果没有,则使用false,这取决于您的需要。
https://stackoverflow.com/questions/17824779
复制相似问题