我似乎无法自己解决这个问题。我有一个二维阵列,
字符串收集器[名称] [#ofstuff]
我正在尝试使用此代码对其进行排序:
Arrays.sort(Collectors, new Comparator<String[]>() {
public int compare(String[] a1, String[] a2 )
{
return a1[1].compareTo(a2[1]);
}
});
我是比较新手,试图阅读有关它的大量文档,但并不真正理解它。 sort函数是否只是获取我想要比较两个字符串的信息然后做它的事情?
由于某些原因,此代码每次读取时都会抛出NullPointerException。
线程“AWT-EventQueue-0”中的异常java.lang.NullPointerException 在p1.P1 $ 1 $ 1.compare(P1.java:155)(这是return语句) 在p1.P1 $ 1 $ 1.compare(P1.java:152)(这是Arrays.sort行)
所以我试图按照它的第二个维度对数组进行排序。我应该尝试将这些值转换为int并比较整数吗?
只是因为人们说不使用数组,我必须使用它们进行这项任务,我只是碰巧使用2d数组而不是1d使所有事情变得更难1000倍。 < / p>
编辑:哎呀我可能在解释2d数组时犯了一个错误。道歉,我一整天都在努力工作。
String Collectors[][] = new String[100][2];
然后我有一些代码添加到那里,我想开始按第一维的第二个索引进行排序。我想我必须先填写所有索引,这样可以解决空指针异常吗?
解
在尝试排序之前,数组必须已满!谢谢ILoveCoding♥