Сравнявам две цели числа с моя собствен Comparator

Уча се как да използвам интерфейс на Comparator в Java и се опитвам да напиша свой собствен Comparator, който да сравнява Integers по различен начин (напр. 3>5). Имам проблем с него, може ли някой да каже какво не е наред с моя код?

import java.util.*;
import java.lang.*;
class MyComparator<Integer> implements Comparator<Integer>
{
    public int compare(Integer a, Integer b)
    {
        if(a.compareTo(b)>0)
        return -1;
        else if(a.compareTo(b)<0)
            return 1; 
        else 
            return 0;
    }
}

Компилаторът не може да намери compareTo(Integer).


person Bouncer00    schedule 01.09.2014    source източник
comment
Бих искал също да отбележа, че можете просто да напишете return b.compareTo(a);   -  person Jan Van den bosch    schedule 01.09.2014
comment
Разгледайте Integer.compare(int, int)   -  person Peter Lawrey    schedule 01.09.2014
comment
така че е същото като return -a.compareTo(b); или return b.compareTo(a);   -  person Peter Lawrey    schedule 01.09.2014


Отговори (1)


промяна

class MyComparator<Integer> implements Comparator<Integer>

to

class MyComparator implements Comparator<Integer>

В първия случай вие декларирате типов параметър, който е засенчване java.lang.Integer.

person Mark Peters    schedule 01.09.2014