SeouliteLab

[Java/자바] Predicate.isEqual() 메서드: 동등성 검사 본문

프로그래밍

[Java/자바] Predicate.isEqual() 메서드: 동등성 검사

Seoulite Lab 2024. 3. 13. 08:35

Java에서 Predicate.isEqual() 메서드는 두 객체의 동등성을 검사하는 데 사용됩니다. 이 메서드는 객체의 equals() 메서드와 비슷하지만, 일반적으로 객체를 직접 비교하는 대신 특정 값을 기준으로 비교할 때 유용합니다.

1. Predicate.isEqual() 메서드 소개

Predicate.isEqual() 메서드는 java.util.function 패키지에 속하는 Predicate 인터페이스의 정적 메서드입니다. 이 메서드는 주어진 객체와 동일한지를 확인하는 Predicate를 생성합니다.

2. Predicate.isEqual() 메서드 예제

예제 1: 문자열 비교하기

import java.util.function.Predicate;

public class StringEqualityCheck {
    public static void main(String[] args) {
        Predicate<String> isEqualToJava = Predicate.isEqual("Java");

        System.out.println(isEqualToJava.test("Java")); // true 출력
        System.out.println(isEqualToJava.test("Python")); // false 출력
    }
}

위 예제에서는 "Java" 문자열과 동일한지를 확인하는 Predicate를 생성하고, 이를 사용하여 문자열을 비교합니다.

예제 2: 숫자 비교하기

import java.util.function.Predicate;

public class NumberEqualityCheck {
    public static void main(String[] args) {
        Predicate<Integer> isEqualToFive = Predicate.isEqual(5);

        System.out.println(isEqualToFive.test(5)); // true 출력
        System.out.println(isEqualToFive.test(10)); // false 출력
    }
}

위 예제에서는 5와 동일한지를 확인하는 Predicate를 생성하고, 이를 사용하여 숫자를 비교합니다.

예제 3: 객체 비교하기

import java.util.function.Predicate;

public class ObjectEqualityCheck {
    public static void main(String[] args) {
        Predicate<Person> isEqualToJohn = Predicate.isEqual(new Person("John"));

        System.out.println(isEqualToJohn.test(new Person("John"))); // true 출력
        System.out.println(isEqualToJohn.test(new Person("Doe"))); // false 출력
    }
    
    static class Person {
        private String name;

        public Person(String name) {
            this.name = name;
        }
    }
}

위 예제에서는 Person 객체의 name 속성과 동일한지를 확인하는 Predicate를 생성하고, 이를 사용하여 객체를 비교합니다.

예제 4: null 비교하기

import java.util.function.Predicate;

public class NullEqualityCheck {
    public static void main(String[] args) {
        Predicate<String> isEqualToNull = Predicate.isEqual(null);

        System.out.println(isEqualToNull.test(null)); // true 출력
        System.out.println(isEqualToNull.test("Java")); // false 출력
    }
}

위 예제에서는 null과 동일한지를 확인하는 Predicate를 생성하고, 이를 사용하여 null 값을 비교합니다.

예제 5: 배열 비교하기

import java.util.function.Predicate;

public class ArrayEqualityCheck {
    public static void main(String[] args) {
        Predicate<int[]> isEqualToArray = Predicate.isEqual(new int[]{1, 2, 3});

        System.out.println(isEqualToArray.test(new int[]{1, 2, 3})); // true 출력
        System.out.println(isEqualToArray.test(new int[]{3, 2, 1})); // false 출력
    }
}

위 예제에서는 배열과 동일한지를 확인하는 Predicate를 생성하고, 이를 사용하여 배열을 비교합니다.

예제 6: 논리적 비교하기

import java.util.function.Predicate;

public class LogicalEqualityCheck {
    public static void main(String[] args) {
        Predicate<Boolean> isEqualToTrue = Predicate.isEqual(true);

        System.out.println(isEqualToTrue.test(true)); // true 출력
        System.out.println(isEqualToTrue.test(false)); // false 출력
    }
}

위 예제에서는 논리값과 동일한지를 확인하는 Predicate를 생성하고, 이를 사용하여 논리값을 비교합니다.