Java에서 == 또는 equals() 메서드를 사용하여 Java Enum 비교
-
Java에서
==
연산자를 사용하여 Enum 비교 -
Java에서
equals()
메서드를 사용하여 Enum 비교 -
열거형 값을 비교하고
null
안전 처리 - Java에서 두 개의 서로 다른 열거형 값 비교
이 튜토리얼은 자바에서 ==
연산자나 equals()
메소드를 사용하여 자바 열거형을 비교하는 방법을 소개합니다.
Enum은 일, 월, 색상 등과 같은 데이터 세트를 수집하는 데 사용되는 상수 세트입니다. Java에서 enum을 생성하기 위해 enum 키워드를 사용한 다음 유형에 대한 값을 제공합니다.
이 문서에서는 열거형 값과 개체를 비교하는 방법을 보여줍니다. 몇 가지 예를 들어 이해합시다.
Java에서 ==
연산자를 사용하여 Enum 비교
==
(같음) 연산자는 두 개의 피연산자가 필요한 이항 연산자입니다. 피연산자를 비교하여 true
또는 false
를 반환합니다.
이것을 사용하여 열거형 값을 비교할 수 있습니다. 아래 예를 참조하십시오.
enum Color {
red,
green,
yello,
white,
black,
purple,
blue;
}
public class SimpleTesting {
public static void main(String[] args) {
boolean result = isGreen(Color.blue);
System.out.println(result);
result = isGreen(Color.green);
System.out.println(result);
}
public static boolean isGreen(Color color) {
if (color == Color.green) {
return true;
}
return false;
}
}
출력:
false
true
Java에서 equals()
메서드를 사용하여 Enum 비교
Java equals()
메소드는 두 값을 비교하고 true
또는 false
부울 값을 반환합니다. 이 방법을 사용하여 열거형 값을 비교할 수 있습니다.
여기서는 Color
열거형을 사용하여 값을 비교했습니다. 첫 번째 값은 false
를 반환하지만 두 번째 값은 true
를 반환합니다. 아래 예를 참조하십시오.
enum Color {
red,
green,
yello,
white,
black,
purple,
blue;
}
public class SimpleTesting {
public static void main(String[] args) {
boolean result = isGreen(Color.blue);
System.out.println(result);
result = isGreen(Color.green);
System.out.println(result);
}
public static boolean isGreen(Color color) {
if (color.equals(Color.green)) {
return true;
}
return false;
}
}
출력:
false
true
열거형 값을 비교하고 null
안전 처리
Java에서 가장 문제가 되는 문제는 null
값을 처리하는 것입니다. 열거형 비교에도 적용됩니다. 열거형 값을 비교하기 위해 equals()
메소드를 사용하고 열거형 객체가 null
이면 nullpointerexception
이 발생합니다. 아래 예를 참조하십시오.
enum Color {
red,
green,
yello,
white,
black,
purple,
blue;
}
public class SimpleTesting {
public static void main(String[] args) {
Color color = null;
boolean result = isGreen(color);
System.out.println(result);
result = isGreen(Color.green);
System.out.println(result);
}
public static boolean isGreen(Color color) {
if (color.equals(Color.green)) {
return true;
}
return false;
}
}
출력:
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "javaexample.Color.equals(Object)" because "color" is null
그러나 ==
(같음) 연산자로 작업하고 열거형 값/객체를 비교하면 nullpointerexception
이 발생하지 않습니다. 즉, 이 연산자는 null
이 안전하고 equals()
메서드보다 사용하기 좋습니다. 아래 예를 참조하십시오.
enum Color {
red,
green,
yello,
white,
black,
purple,
blue;
}
public class SimpleTesting {
public static void main(String[] args) {
Color color = null;
boolean result = isGreen(color);
System.out.println(result);
result = isGreen(Color.green);
System.out.println(result);
}
public static boolean isGreen(Color color) {
if (color == Color.green) {
return true;
}
return false;
}
}
출력:
false
true
Java에서 두 개의 서로 다른 열거형 값 비교
equals()
메서드를 사용하여 두 개의 열거형 객체를 비교할 수도 있습니다. 두 객체가 다르기 때문에 두 경우 모두 false
를 반환합니다. 아래 예를 참조하십시오.
enum Color {
red,
green,
yello,
white,
black,
purple,
blue;
}
enum MyColors {
green,
red,
blue;
}
public class SimpleTesting {
public static void main(String[] args) {
boolean result = isGreen(Color.red);
System.out.println(result);
result = isGreen(Color.green);
System.out.println(result);
}
public static boolean isGreen(Color color) {
if (color.equals(MyColors.red)) {
return true;
}
return false;
}
}
출력:
false
false