gpt4 book ai didi

java - 如何解决 Java 中的 NullPointerException?

转载 作者:太空宇宙 更新时间:2023-11-04 10:08:10 25 4
gpt4 key购买 nike

所以我有一个文本文件,其中包含一堆导入到程序中的字符串,我的程序所做的就是查找第一个重复字符串的第一个索引:

static final int NOT_FOUND = -1;
dupeIndex = indexOfFirstDupe( wordList, wordCount );
if ( dupeIndex == NOT_FOUND )
System.out.format("No duplicate values found in wordList\n");
else
System.out.format("First duplicate value in wordList found at index %d\n",dupeIndex);

我用来查找重复项的第一个索引的方法如下:

static int indexOfFirstDupe( String[] arr, int count )
{

Arrays.sort(arr);
int size = arr.length;
int index = NOT_FOUND;

for (int x = 0; x < size; x++) {
for (int y = x + 1; y < size; y++) {
if (arr[x].equals(arr[y])) {
index = x;
break;
}
}
}
return index;

问题是我收到此错误:

enter image description here

这是一个NullPointerException,根据我的理解,这意味着我的字符串数组中基本上有一个空值(?)。我缺少任何简单的解决方案吗?可能改写我的方法吗?

最佳答案

错误是由Array.sort(arr)引起的;

根据 Java 文档 (https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#sort-java.lang.Object%3aA-):

根据其元素的自然顺序将指定的对象数组按升序排序。 数组中的所有元素都必须实现 Comparable 接口(interface)

很可能是当排序尝试对 String 数组的 null 对象调用compareTo 方法时抛出异常。

因此,一个简单的直接解决方案是确保字符串数组中没有空对象...

关于java - 如何解决 Java 中的 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52675437/

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