[java] Apache Commons Lang 의 클래스와 메서드를 사용하는 방법

Apache Commons Lang은 Java 개발자들을 위한 유용한 기능과 유틸리티를 제공하는 Apache 소프트웨어 재단의 라이브러리입니다. 이 라이브러리는 JDK 자체에 비해 더 많은 기능을 제공하여 개발 프로세스를 더 효율적으로 만들어 줍니다. 이번에는 Apache Commons Lang의 일부 클래스와 메서드를 사용하는 방법을 알아보겠습니다.

1. 문자열 유틸리티 클래스 사용하기

Apache Commons Lang은 문자열 조작을 위한 StringUtils 클래스를 제공합니다. 이 클래스는 여러 가지 유용한 메서드를 포함하고 있으며, 자주 사용되는 몇 가지 기능을 살펴보겠습니다.

import org.apache.commons.lang3.StringUtils;

public class StringUtilsExample {
    public static void main(String[] args) {
        String str = "  Hello, world!  ";
        
        // 문자열의 앞뒤 공백 제거
        String trimmed = StringUtils.trim(str);
        System.out.println(trimmed); // 출력: "Hello, world!"
        
        // 대소문자 변환
        String capitalized = StringUtils.capitalize(trimmed);
        System.out.println(capitalized); // 출력: "Hello, world!"
        
        // 문자열이 비어있는지 확인
        boolean empty = StringUtils.isEmpty(trimmed);
        System.out.println(empty); // 출력: false
        
        // 문자열 길이 반환
        int length = StringUtils.length(trimmed);
        System.out.println(length); // 출력: 13
    }
}

2. 숫자 유틸리티 클래스 사용하기

NumberUtils 클래스는 숫자와 관련된 작업을 쉽게 처리할 수 있게 해주는 유틸리티 클래스입니다. 일부 기능을 살펴보겠습니다.

import org.apache.commons.lang3.math.NumberUtils;

public class NumberUtilsExample {
    public static void main(String[] args) {
        String numberStr = "12345";
        
        // 문자열이 숫자로 구성되어 있는지 확인
        boolean isNumeric = NumberUtils.isDigits(numberStr);
        System.out.println(isNumeric); // 출력: true
        
        // 문자열을 정수로 변환
        int number = NumberUtils.toInt(numberStr);
        System.out.println(number); // 출력: 12345
        
        // 숫자에 천 단위 구분자 삽입
        String formattedNumber = NumberUtils.formatNumber(number, ',');
        System.out.println(formattedNumber); // 출력: "12,345"
    }
}

3. 날짜 유틸리티 클래스 사용하기

Apache Commons Lang은 날짜와 시간 처리를 위한 DateUtils 클래스를 제공합니다. 일부 기능을 살펴보겠습니다.

import org.apache.commons.lang3.time.DateUtils;

import java.util.Date;

public class DateUtilsExample {
    public static void main(String[] args) {
        Date now = new Date();
        
        // 현재 날짜에 1일을 더한 날짜 계산
        Date nextDay = DateUtils.addDays(now, 1);
        System.out.println(nextDay); // 출력: "Thu Jan 21 15:24:56 KST 2021"
        
        // 두 날짜 사이의 일 수 계산
        int daysBetween = DateUtils.daysBetween(now, nextDay);
        System.out.println(daysBetween); // 출력: 1
        
        // 날짜를 포맷팅하여 문자열로 변환
        String formattedDate = DateUtils.formatDate(now, "yyyy-MM-dd");
        System.out.println(formattedDate); // 출력: "2021-01-20"
    }
}

결론

Apache Commons Lang은 자주 사용되는 유형의 작업을 간편하게 처리할 수 있는 유용한 기능을 제공합니다. 이번 글에서는 문자열, 숫자, 날짜와 관련된 유틸리티 클래스 몇 가지를 살펴보았지만, 더 많은 기능을 포함하고 있습니다. 자세한 내용은 공식 문서를 참조해 주세요.