【发布时间】:2024-05-18 15:50:02
【问题描述】:
我的代码中有这个方法
public boolean has(AnyType x){
for(int i=0; i<items.length; i++)
if(items[i] == x)
return true;
return false;
}
我想重写 if 语句以使用 compareTo() 方法,根据我的记忆应该是这样的:
if(items[i].compareTo(x) == 0)
但这给了我一个错误
Exception in thread "main" java.lang.NullPointerException
关于我可能做错了什么的任何想法?
【问题讨论】:
-
显然 items[i] 为空。现在找出原因。
-
是的,我有一个计数器来保持数组的大小,在我删除一些项目后,由于我正在使用数组,所以有一些空值,所以我必须在 if 语句中更改 items.length反击
-
更多关于 NullPointer 异常:*.com/questions/218384/…
-
你应该使用 equals(),而不是 compareTo()。
标签: java class methods if-statement compareto