이 포스트는 Java 에서 여러 개의 단어 조건을 equals로 비교할 때 equals 대신 Arrays.asList().contains 를 사용하는 방법을 설명합니다.

 

 

Java 업무 프로그램을 작성하다 보면 A이거나 B이거나 C일 경우에 어떤 코드를 실행시키는 형태의 조건문을 많이 작성합니다. 이렇게 조건이 몇 개 없을 때는 equals를 사용해도 가독성이 나쁘지 않고, 변경에도 문제가 없지만 조건이 많을 경우에는 프로그램도 길어져 가독성이 떨어질 뿐만 아니라 변경 시에도 좀 헷갈리는 경우가 있습니다.

String cond = request.getParameter("cond");

if ("A".equals(cond) || "B".equals(cond) || "C".equals(cond)) {
    //Do something
}

 

JavaScript에서 조건을 배열로 만든 후 indexOf나 includes로 조건문을 사용한 것과 동일하게 Java에서도 Arrays.asList를 아래와 같이 사용할 수 있습니다.

String cond = request.getParameter("cond");

List condList = Arrays.asList(new String[] {"A", "B", "C"});
if (condList.contains(cond)) {
    //Do something
}

 

위와 아래의 조건문은 동일한 코드이지만 가독성이나 변경을 생각하면 아래 쪽이 조금 더 용이해 보입니다.

JavaScript에서 indexOf, includes를 사용하는 방법은 아래 포스트를 참고합니다.

조건문에서 indexOf, includes 활용 :: 즐거운인생 (tistory.com)

 

조건문에서 indexOf, includes 활용

JavaScript에서 여러 개의 조건을 나열할 때 아래와 같이 or를 길게 연결해서 사용합니다. const code = data.code; if (code === 'A' || code === 'B' || code === 'C' || code === 'D' || code === 'E') { //Do..

redballs.tistory.com

 

300x250

+ Recent posts