Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对于long类型,方法compare(long,long)未定义_Java_Comparator - Fatal编程技术网

Java 对于long类型,方法compare(long,long)未定义

Java 对于long类型,方法compare(long,long)未定义,java,comparator,Java,Comparator,我需要制作一个比较器,根据其long类型的一个变量对对象列表进行排序 public class ParticipantIndexComparator implements Comparator<Integer> { final List<Participant> participants; public ParticipantIndexComparator(ArrayList<Integer> numbersToS

我需要制作一个比较器,根据其
long
类型的一个变量对对象列表进行排序

public class ParticipantIndexComparator implements Comparator<Integer> {
        final List<Participant> participants;       
        public ParticipantIndexComparator(ArrayList<Integer> numbersToSort) {
            participants=new ArrayList<Participant>();
            for (int i=0;i<numbersToSort.size();i++)
            { participants.add(i,competition.participant.get(numbersToSort.get(i))); participants.get(i).comparator=numbersToSort.get(i);}

        }

        @Override
        public int compare(Integer i1, Integer i2) {
            long l1 = participants.get(i1).kpTime.get(kpSelected); 
            long l2 = participants.get(i2).kpTime.get(kpSelected);
              return Long.compare(l1, l2);
        }


    }
公共类ParticipantIndexComparator实现Comparator{
最后与会者名单;
公众参与指数比较器(ArrayList Numbers ToSort){
参与者=新的ArrayList();

对于(int i=0;i此方法自Java 7以来就存在。您可能正在使用Java 6或更旧版本的Java。在这些以前的版本中,您只需使用

Long.valueOf(l1).compareTo(Long.valueOf(l2));

这是您的朋友。请阅读。

如果您遇到Integer.compare在将Maven项目导入Eclipse后未定义,请检查项目属性以确保它使用的是1.7 JRE。出于某种原因,导入将1.6 JRE与我的项目相关联,即使POM和我的系统默认值为1.7.*.

参与者。获取(i).comparator=numbersToSort.get(i)
为什么要给名为
comparator
的东西分配符号号?@Woot4Moo:签名是正确的。OP想要比较整数,而不是longs。这些整数用于查找与整数关联的长值,并且应该根据这个长值进行排序。就像按照姓氏对Person类型的人进行排序一样类型为String.JB Nizet,没错!!我在Java 6中使用它,因为我为Android编写了很多代码谢谢!我问这个问题已经用了2到3次不同的方式,人们总是试图比较两个索引和变量,而不是变量本身。在这里,人们通常不看这个问题。例如,当我在看为了在Android中以与文本相同的方式放大多行视图,当第一行被填充时,它从下一行开始。我的答案是一个简单的GridView,但人们开始给我关于如何处理文本的建议