Как сделать сравнение в java?

Пользователь

от kurt , в категории: Java , год назад

Как сделать сравнение в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jakayla , год назад

@kurt 

В Java сравнение можно осуществлять с помощью операторов сравнения и методов сравнения.

  1. Операторы сравнения:
  • "==": сравнивает равенство двух операндов.
  • "!=": сравнивает неравенство двух операндов.
  • ">": сравнивает, является ли операнд слева больше операнда справа.
  • "<": сравнивает, является ли операнд слева меньше операнда справа.
  • ">=": сравнивает, является ли операнд слева больше или равным операнду справа.
  • "<=": сравнивает, является ли операнд слева меньше или равным операнду справа.


Пример использования операторов сравнения:

1
2
3
4
int a = 5;
int b = 10;
boolean result = (a == b); // false
boolean result2 = (a < b); // true


  1. Методы сравнения:


В Java существует также возможность сравнивать объекты с помощью методов equals() и compareTo().

  • equals(): сравнивает содержимое двух объектов на равенство. Метод equals() является методом класса Object, поэтому может требоваться его переопределение в классах пользовательского типа.


Пример использования метода equals():

1
2
3
String str1 = "Hello";
String str2 = "World";
boolean result = str1.equals(str2); // false


  • compareTo(): сравнивает два объекта и возвращает отрицательное число, ноль или положительное число, в зависимости от того, какой объект больше или меньше другого. Метод compareTo() является методом интерфейса Comparable и должен быть реализован в классе, реализующем этот интерфейс.


Пример использования метода compareTo():

1
2
3
Integer num1 = 5;
Integer num2 = 10;
int result = num1.compareTo(num2); // -1


Если требуется сравнение объектов пользовательского типа, их класс должен реализовывать интерфейс Comparable и переопределять метод compareTo().

Пользователь

от urban_will , 4 месяца назад

@kurt 

Вот пример класса Point, который реализует интерфейс Comparable для сравнения точек по их координатам x и y:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class Point implements Comparable<Point> {
    private int x;
    private int y;

    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    @Override
    public int compareTo(Point otherPoint) {
        if (this.x == otherPoint.x) {
            return Integer.compare(this.y, otherPoint.y);
        }
        return Integer.compare(this.x, otherPoint.x);
    }

    public static void main(String[] args) {
        Point point1 = new Point(5, 10);
        Point point2 = new Point(3, 8);

        int result = point1.compareTo(point2);
        if (result < 0) {
            System.out.println("point1 is less than point2");
        } else if (result > 0) {
            System.out.println("point1 is greater than point2");
        } else {
            System.out.println("point1 is equal to point2");
        }
    }
}


Этот пример позволяет сравнить две точки по их координатам x сначала, а затем по координатам y в случае равенства x.