ObjectUtils와 StringUtils

wijoonwu·2022년 11월 16일
0

Java

목록 보기
22/24
post-thumbnail

ObjectUtilsStringUtils 둘 다 org.apache.commons.lang 패키지다.
Commons Lang 패키지를 사용하면 NullPointerException 등의 예외 처리에 유용하다.

ObjectUtils

  • org.apache.commons.lang.ObjectUtils
  • ObectUtilsStringUtils와 달리 모든 Object에 대응 가능하다는 부분에서 이점이 있다.
  • 객체 또는 스트링에서 null값과 공백값을 걸러내야 하는 경우 활용할 수 있다.
  • Map, Array와 같은 객체들도 null 값을 찾아낼 수 있다.
public static boolean isEmpty(@Nullable Object obj) {
    if (obj == null) {
        return true;
    } else if (obj instanceof Optional) {
        return !((Optional)obj).isPresent();
    } else if (obj instanceof CharSequence) {
        return ((CharSequence)obj).length() == 0;
    } else if (obj.getClass().isArray()) {
        return Array.getLength(obj) == 0;
    } else if (obj instanceof Collection) {
        return ((Collection)obj).isEmpty();
    } else {
        return obj instanceof Map ? ((Map)obj).isEmpty() : false;
    }
}

Empty를 확인할 수 있는 객체

  • null 값
  • String의 길이가 0인 값. (ex. String s="";)
  • List의 값이 존재하지 않을 때
  • Object[]의 값

toString

  • 오브젝트의 내용을 문자열로 변환해준다.
  • 흔히 접하게되는 java.lang.Object에서 상속된 toString()과는 역할이 전혀 다르다.
  • 배열과 맵 형태의 데이터를 찍어볼 때 유용하다.
ArrayList sourceObject = new ArrayList();
sourceObject.add("ARR1");
sourceObject.add("ARR2");
sourceObject.add("ARR3");
System.out.println(ObjectUtils.toString(sourceObject));

defaultIfNull

  • null 값 대신 리턴할 값을 지정해줄 수 있다.
 ObjectUtils.defaultIfNull(null, null)      = null
 ObjectUtils.defaultIfNull(null, "")        = ""
 ObjectUtils.defaultIfNull(null, "zz")      = "zz"
 ObjectUtils.defaultIfNull("abc", *)        = "abc"
 ObjectUtils.defaultIfNull(Boolean.TRUE, *) = Boolean.TRUE
 

StringUtils

  • org.apache.commons.lang.StringUtils
  • 자바의 String 클래스가 제공하는 문자열 관련 기능을 강화한 클래스
  • 파라미터 값으로 null을 주더라도 절대 NullPointException을 발생시키지 않음.
    (null이 입력되는 경우, 메소드에 따라 알맞은 결과를 리턴.)
반환값함수명파라미터
StringabbreviateString str, int maxWidth
"…"를 포함한 지정한 사이즈로 문자열을 축소한다 maxWidth은 4보다 커야한다
StringabbreviateString str, int offset, int maxWidth
"…"를 포함한 지정한 사이즈로 문자열을 앞/뒤로 축소한다 offset은 7보다 커야한다
StringcapitaliseString str
deprecated
StringcapitaliseAllWordsString str
deprecated
StringcapitalizeString str
문자열중 첫번째 문자를 대문자로 만든다
StringcenterString str, int size
str의 길이가 size가 되도록 문자열 좌우에 공백문자를 하나씩 추가한다 (우측부터 시작한다)
StringcenterString str, int size, char padChar
str의 길이가 size가 되도록 문자열 좌우에 padChar를 하나씩 추가한다 (우측부터 시작한다)
StringcenterString str, int size, String padStr
str의 길이가 size가 되도록 문자열 좌우에 padStr을 하나씩 추가한다 (우측부터 시작한다)
StringchompString str
문자열 맨 끝에있는 '\n' , '\r', '\r\n'을 제거한다
StringchompString str, String separator
문자열 맨 끝에 separator가 있으면 이를 제거한다
StringchompLastString str
deprecated
StringchompLastString str, String sep
deprecated
StringchopString str
문자열 맨 끝에있는 문자 하나를 제거한다
StringchopNewlineString str
deprecated
StringcleanString str
deprecated
StringconcatenateObject array[]
deprecated
booleancontainsString str, char searchChar
str이 searchChar를 포함하고 있으면 true
booleancontainsString str, String searchStr
str이 searchStr을 포함하고 있으면 true
booleancontainsNoneString str, char invalidChars[]
str이 invalidChars의 각 문자를 모두 포함하고 있지 않으면 true
booleancontainsNoneString str, String invalidChars
str이 invalidChars를 모두 포함하고 있지 않으면 true
booleancontainsOnlyString str, char valid[]
str이 valid의 각 문자들만 포함하고 있어야 true
booleancontainsOnlyString str, String validChars
str이 validChars 들만을 포함하고 있어야 true
intcountMatchesString str, String sub
str중에 sub가 포함되어있는 갯수를 반환한다
StringdefaultStringString str
str이 null이면 ""를 반환하고 아니면 str을 반환한다
StringdefaultStringString str, String defaultStr
str이 null이면 defaultStr을 반환하고 아니면 str을 반환한다
StringdeleteSpacesString str
deprecated
StringdeleteWhitespaceString str
문자열중 공백문자가 있으면 모두 제거한다
StringdifferenceString str1, String str2
str1과 str2를 비교하여 다른부분을 반환한다 (str2의 부분을 반환)
booleanequalsString str1, String str2
str1이 null이면 str2가 null인지 유무를 반환하고 str1이 null이 아니면 str1과 str2의 equals를 반환
booleanequalsIgnoreCaseString str1, String str2
equals와 동일하며 대소문자를 무시하고 비교한다
StringescapeString str
deprecated
StringgetChompString str, String sep
deprecated
StringgetNestedStringString str, String tag
deprecated
StringgetNestedStringString str, String open, String close
deprecated
StringgetPrechompString str, String sep
deprecated
intindexOfString str, char searchChar
str에서 첫번째 searchChar의 인덱스를 반환한다
intindexOfString str, char searchChar, int startPos
str의 startPos 인덱스부터 첫번째 searchChar의 인덱스를 반환한다
intindexOfString str, String searchStr
str에서 첫번째 searchStr의 인덱스를 반환한다
intindexOfString str, String searchStr, int startPos
str의 startPos 인덱스로부터 첫번째 searchStr의 인덱스를 반환한다
intindexOfAnyString str, char searchChars[]
str에서 searchChars중 포함하고 있는 문자의 첫번째 인덱스를 반환한다
intindexOfAnyString str String searchChars
str에서 searchChars중 포함하고 있는 문자열의 첫번째 인덱스를 반환한다
intindexOfAnyString str, String searchStrs[]
str에서 searchStr중 포함하고 잇는 문자열의 첫번째 인덱스를 반환한다
intindexOfAnyButString str char searchChars[]
str에서 searchChars중 포함되지 않은 문자 첫번째 인덱스를 반환한다
intindexOfAnyButString str, String searchChars
str에서 searchChars중 포함되지 않은 문자 첫번째 인덱스를 반환한다
intindexOfDifferenceString str1, String str2
str1과 str2를 비교하여 문자열이 틀려지기 시작하는 인덱스를 반환한다
booleanisAlphaString str
문자열이 모두 Character.isLetter 이면 true (모두 문자이면 true)
booleanisAlphanumericString str
문자열이 모두 Character.isLetterOrDigit 이면 true (문자거나 숫자이면 true)
booleanisAlphanumericSpaceString str
문자열이 모두 Character.isLetterOrDigit 이거나 공백이면 true
booleanisAlphaSpaceString str
문자열이 모두 Character.isLetter 이거나 공백문자이면 true
booleanisBlankString str
문자열이 공백문자이거나 길이가 0이거나 null인경우 true
booleanisEmptyString str
문자열이 길이가 0이거나 null인경우 true
booleanisNotBlankString str
문자열이 공백문자도 아니고 길이가 0도 아니고 null도 아니면 true
booleanisNotEmptyString str
문자열이 길이가 0이 아니고 null도 아니면 true
booleanisNumericString str
문자열이 모두 Character.isDigit 이면 true (모두 숫자이면 true)
booleanisNumericSpaceString str
문자열이 모두 Character.isDigit 이거나 공백문자이면 true
booleanisWhitespaceString str
문자열이 모두 Character.isWhitespace 이면 true (모두 공백이면 true)
StringjoinObject array[]
array에서 문자열을 읽어와 모두 연결시킨다
StringjoinObject array[], char separator
array에서 문자열을 읽어와 separator를 구분자로 연결시킨다
StringjoinObject array[], String separator
array에서 문자열을 읽어와 separator를 구분자로 연결시킨다
StringjoinIterator iterator, char separator
iterator에서 문자열을 읽어와 separator를 구분자로 연결시킨다
StringjoinIterator iterator, String separator
iterator에서 문자열을 읽어와 separator를 구분자로 연결시킨다
intlastIndexOfString str, char searchChar
str에서 마지막 searchChar의 인덱스를 반환한다
intlastIndexOfString str, char searchChar, int startPos
str의 startPos 인덱스부터 마지막 searchChar의 인덱스를 반환한다
intlastIndexOfString str, String searchStr
str에서 마지막 searchStr의 인덱스를 반환한다
intlastIndexOfString str, String searchStr, int startPos
str의 startPos 인덱스부터 마지막 searchStr의 인덱스를 반환한다
intlastIndexOfAnyString str, String searchStrs[]
str에서 searchStr의 문자열들중 포함하고 있는 문자열의 마지막 인덱스를 반환한다
StringleftString str, int len
str의 좌측에서 len 길이만큼 문자열을 구한다
StringleftPadString str, int size
str의 길이가 size가 되도록 문자열 왼쪽에 ' '을 추가한다
StringleftPadString str, int size, char padChar
str의 길이가 size가 되도록 문자열 왼쪽에 padChar를 추가한다
StringleftPadString str, int size, String padStr
str의 길이가 size가 되도록 문자열 왼쪽에 padStr을 추가한다
StringlowerCaseString str
str을 소문자로 변환한다
StringmidString str, int pos, int len
str의 pos 인덱스부터 len 길이만큼의 문자열을 구한다
StringoverlayString str, String overlay, int start, int end
str의 start부터 end까지overlay로 변환한다
StringoverlayStringString text, String overlay, int start, int end
deprecated
StringprechompString str, String sep
deprecated
StringrepeatString str, int repeat
str을 repeat만큼 반복하여 반환한다
StringreplaceString text, String repl, String width
text에서 모든 repl을 width로 변환한다
StringreplaceString text, String repl, String width, int max
text에서 모든 repl을 width로 변환하는데 최대 max개만큼 변환한다
StringreplaceCharsString str, char searchChar, char replaceChar
str에서 searchChar를 replaceChar로 모두 변환한다
StringreplaceCharsString str, String searchChars, String replaceChars
str에서 searchChars를 replaceChars로 모두 변환한다
StringreplaceOneString text, String repl, String width
text에서 repl를 width로 변환하는데 첫번째 하나만 변환한다
StringreverseString str
문자열을 앞뒤 순서를 바꾼다
StringreverseDelimitedString str, char separatorChar
separatorChar를 구분으로 문자열을 나눈 후 나눠진 단어들을 역순으로 바꾼다
StringreverseDelimitedStringString str, String separatorChars
deprecated
StringrightString str, int len
str의 len길이만큼 우측에서 문자열을 구한다
StringrightPadString str, int size
str의 길이가 size가 되도록 문자열 오른쪽에 ' '을 추가한다
StringrightPadString str, int size, char padChar
str의 길이가 size가 되도록 문자열 오른쪽에 padChar를 추가한다
StringrightPadString str, int size, String padStr
str의 길이가 size가 되도록 문자열 오른쪽에 padStr을 추가한다
String[]splitString str
공백문자를 구분자로 사용하여 분리한다
String[]splitString str, char separatorChar
separatorChar를 구분자로 사용하여 분리한다
String[]splitString str, String separatorChars
separatorChars를 구분자로 사용하여 분리한다
String[]splitString str, String seperatorChars, int max
separatorChars를 구분자로 사용하여 분리한며 최대 max개 만큼한다. 배열의 크기는 max가 된다
StringstripString str
문자열 좌우에 있는 공백문자를 제거한다 trim과 동일하다
StringstripString str, String stripChars
문자열 좌우에 stripChars에 존재하는 문자를 제거한다
String[]stripAllString strs[]
배열에 있는 모든 문자열 좌우에 있는 공백문자를 제거한다
String[]stripAllString strs[], String stripChars
배열에 있는 모든 문자열 좌우에 stripChars에 존재하는 문자를 제거한다
StringstripEndString str, String stripChars
문자열 우측에만 strip 한다
StringstripStartString str, String stripChars
문자열 좌측에만 strip 한다
StringstripToEmptyString str
str이 null이면 ""를 반환하고 아니면 strip 한다
StringstripToNullString str
str이 null이면 null을 반환하고 아니면 strip 한다
StringsubstringString str, int start
str의 start 인덱스부터 문자열을 구한다
StringsubstringString str, int start, int end
str의 start 부터 end 인덱스 까지 문자열을 구한다
StringsubstringAfterString str, String separator
str의 처음 separator 부분부터 문자열을 구한다
StringsubstringAfterLastString str, String separator
str의 마지막 separator부분부터 문자열을 구한다
StringsubstringBeforeString str, String separator
str의 처음 separator 부분까지 문자열을 구한다
StringsubstringBeforeLastString str, String separator
str의 마지막 separator부분까지 문자열을 구한다
StringsubstringBetweenString str, String tag
str에서 tag 사이에 있는 문자열을 구한다
StringsubstringBetweenString str, String open, String close
str에서 open부터 close 까지 사이에 있는 문자열을 구한다
StringswapCaseString str
대문자는 소문자로 변환하고 소문자는 대문자로 변환한다
StringtrimToNullString str
str이 null이거나 length가 0이면 null을 반환하고 그렇지 않으면 좌우 공백문자를 제거한다
StringtrimString str
문자열 좌우 공백문자를 제거한다
StringtrimToEmptyString str
str이 null이면 ""를 반환하고 그렇지 않으면 좌우 공백문자를 제거한다
StringuncapitaliseString str
deprecated
StringuncapitalizeString str
문자열의 첫문자를 소문자로 변환한다
StringupperCaseString str
str을 대문자로 변환한다

References

0개의 댓글