Commons Lang
Commons Lang란
Commons-Lang은 java.lang에 있는 클래스처럼 기능적으로 필요한 유틸리티들을 모아놓은 클래스들의 집합입니다. 아마도 여러분들 역시 직접 유틸리티 클래스들을 만들어 사용하고 있을겁니다. 즉 코딩을 하다보면 이렇거 있었으면 좋겠다 싶은것들이 Commons Lang에 다 있다고 생각하시면 됩니다
II. 다운로드 및 설치
http://jakarta.apache.org/site/downloads/downloads_commons-lang.cgi 에서 다운받자!
설치는 각 어플리케이션의 클래스 패스에 복사합니다.
III. org.apache.commons.lang.SystemUtils
SystemUtils는 java.lang.System 클래스 처럼 시스템에 관련된 기능을 쉽게 이용 할 수 있도록 하는 시스템 관련 유틸리티입니다.
시스템 변수들을 가져올 때 매번 System.getProperty("JAVA_HOME")를 하기보다 SystemUtils.JAVA_HOME하면 간단하기 때문에 SystemUtils가 쓸만합니다. SystemUtils의 변수들은 모두 static 변수이기 때문에 SystemUtils 객체생성 없이 SystemUtils.XXX로 바로 사용할 수 있습니다.
예) System.out.println("SystemUtils.FILE_ENCODING : "+SystemUtils.FILE_ENCODING);
반환값 | 변수명 | 설명 |
String | SystemUtils.FILE_ENCODING | System.getProperty("file.encoding") |
String | SystemUtils.FILE_SEPARATOR | System.getProperty("file.separator") |
String | SystemUtils.JAVA_CLASS_PATH | System.getProperty("java.class.path") |
String | SystemUtils.JAVA_CLASS_VERSION | System.getProperty("java.class.version") |
String | SystemUtils.JAVA_COMPILER | System.getProperty("java.compiler") |
String | SystemUtils.JAVA_EXT_DIRS | System.getProperty("java.ext.dirs") |
String | SystemUtils.JAVA_HOME | System.getProperty("java.home") |
String | SystemUtils.JAVA_IO_TMPDIR | System.getProperty("java.io.tmpdir") |
String | SystemUtils.JAVA_LIBRARY_PATH | System.getProperty("java.library.path") |
String | SystemUtils.JAVA_RUNTIME_NAME | System.getProperty("java.runtime.name") |
String | SystemUtils.JAVA_RUNTIME_VERSION | System.getProperty("java.runtime.version") |
String | SystemUtils.JAVA_SPECIFICATION_NAME | System.getProperty("java.specification.name") |
String | SystemUtils.JAVA_SPECIFICATION_VENDOR | System.getProperty("java.specification.vendor") |
String | SystemUtils.JAVA_SPECIFICATION_VERSION | System.getProperty("java.specification.version") |
String | SystemUtils.JAVA_VENDOR | System.getProperty("java.vendor") |
String | SystemUtils.JAVA_VENDOR_URL | System.getProperty("java.vendor.url") |
String | SystemUtils.JAVA_VERSION | System.getProperty("java.version") |
String | SystemUtils.JAVA_VM_INFO | System.getProperty("java.vm.info") |
String | SystemUtils.JAVA_VM_NAME | System.getProperty("java.vm.name") |
String | SystemUtils.JAVA_VM_SPECIFICATION_NAME | System.getProperty("java.vm.specification.name") |
String | SystemUtils.JAVA_VM_SPECIFICATION_VENDOR | System.getProperty("java.vm.specification.vendor") |
String | SystemUtils.JAVA_VM_SPECIFICATION_VERSION | System.getProperty("java.vm.specification.version") |
String | SystemUtils.JAVA_VM_VENDOR | System.getProperty("java.vm.vendor") |
String | SystemUtils.JAVA_VM_VERSION | System.getProperty("java.vm.version") |
String | SystemUtils.LINE_SEPARATOR | System.getProperty("line.separator") |
String | SystemUtils.OS_ARCH | System.getProperty("os.arch") |
String | SystemUtils.OS_NAME | System.getProperty("os.name") |
String | SystemUtils.OS_VERSION | System.getProperty("os.version") |
String | SystemUtils.PATH_SEPARATOR | System.getProperty("path.separator") |
String | SystemUtils.USER_COUNTRY | System.getProperty("user.country") != null ? System.getProperty("user.country") : System.getProperty("user.region") |
String | SystemUtils.USER_DIR | System.getProperty("user.dir") |
String | SystemUtils.USER_HOME | System.getProperty("user.home") |
String | SystemUtils.USER_LANGUAGE | System.getProperty("user.language") |
String | SystemUtils.USER_NAME | System.getProperty("user.name") |
float | JAVA_VERSION_FLOAT | 자바 버젼을 float형으로 |
int | JAVA_VERSION_INT | 자바 버젼을 int형으로 |
boolean | IS_JAVA_1_1 | 자바버젼이 1.1인가? |
boolean | IS_JAVA_1_2 | 자바버젼이 1.2인가? |
boolean | IS_JAVA_1_3 | 자바버젼이 1.3인가? |
boolean | IS_JAVA_1_4 | 자바버젼이 1.4인가? |
boolean | IS_JAVA_1_5 | 자바버젼이 1.5인가? |
boolean | IS_OS_AIX | 운영체제가 AIX인가? |
boolean | IS_OS_HP_UX | 운영체제가 HP Unix인가? |
boolean | IS_OS_IRIX | 운영체제가 IRIX인가? |
boolean | IS_OS_LINUX | 운영체제가 LINUX인가? |
boolean | IS_OS_MAC | 운영체제가 MAC인가? |
boolean | IS_OS_MAC_OSX | 운영체제가 MAC OSX인가? |
boolean | IS_OS_OS2 | 운영체제가 OS2인가? |
boolean | IS_OS_SOLARIS | 운영체제가 SOLARIS인가? |
boolean | IS_OS_SUN_OS | 운영체제가 SUN인가? |
boolean | IS_OS_WINDOWS | 운영체제가 WINDOW인가? |
boolean | IS_OS_WINDOWS_2000 | 운영체제가 WINDOW 2k인가? |
boolean | IS_OS_WINDOWS_95 | 운영체제가 WINDOW 95인가? |
boolean | IS_OS_WINDOWS_98 | 운영체제가 WINDOW 98인가? |
boolean | IS_OS_WINDOWS_ME | 운영체제가 WINDOW ME인가? |
boolean | IS_OS_WINDOWS_NT | 운영체제가 WINDOW NT인가? |
boolean | IS_OS_WINDOWS_XP | 운영체제가 WINDOW XP인가? |
이를 바탕으로 제 컴(win2k)에서 출력한 결과입니다.
변수명 | 출력결과 |
SystemUtils.FILE_ENCODING | MS949 |
SystemUtils.FILE_SEPARATOR | \ |
SystemUtils.JAVA_CLASS_PATH | C:\Tomcat 4.1\bin\bootstrap.jar |
SystemUtils.JAVA_CLASS_VERSION | 48.0 |
SystemUtils.JAVA_COMPILER | null |
SystemUtils.JAVA_EXT_DIRS | C:\j2sdk1.4.2_06\jre\lib\ext |
SystemUtils.JAVA_HOME | C:\j2sdk1.4.2_06\jre |
SystemUtils.JAVA_IO_TMPDIR | C:\DOCUME~1\kitty1\LOCALS~1\Temp\ |
SystemUtils.JAVA_LIBRARY_PATH | C:\j2sdk1.4.2_06\bin;.;C:\WINNT\system32;C:\WINNT; |
SystemUtils.JAVA_RUNTIME_NAME | Java(TM) 2 Runtime Environment, Standard Edition |
SystemUtils.JAVA_RUNTIME_VERSION | 1.4.2_06-b03 |
SystemUtils.JAVA_SPECIFICATION_NAME | Java Platform API Specification |
SystemUtils.JAVA_SPECIFICATION_VENDOR | Sun Microsystems Inc. |
SystemUtils.JAVA_SPECIFICATION_VERSION | 1.4 |
SystemUtils.JAVA_VENDOR | Sun Microsystems Inc. |
SystemUtils.JAVA_VENDOR_URL | http://java.sun.com/ |
SystemUtils.JAVA_VERSION | 1.4.2_06 |
SystemUtils.JAVA_VM_INFO | mixed mode |
SystemUtils.JAVA_VM_NAME | Java HotSpot(TM) Client VM |
SystemUtils.JAVA_VM_SPECIFICATION_NAME | Java Virtual Machine Specification |
SystemUtils.JAVA_VM_SPECIFICATION_VENDOR | Sun Microsystems Inc. |
SystemUtils.JAVA_VM_SPECIFICATION_VERSION | 1.0 |
SystemUtils.JAVA_VM_VENDOR | Sun Microsystems Inc. |
SystemUtils.JAVA_VM_VERSION | 1.4.2_06-b03 |
SystemUtils.LINE_SEPARATOR | |
SystemUtils.OS_ARCH | x86 |
SystemUtils.OS_NAME | Windows 2000 |
SystemUtils.OS_VERSION | 5.0 |
SystemUtils.PATH_SEPARATOR | ; |
SystemUtils.USER_COUNTRY | KR |
SystemUtils.USER_DIR | C:\Tomcat 4.1 |
SystemUtils.USER_HOME | C:\Documents and Settings\kitty1 |
SystemUtils.USER_LANGUAGE | ko |
SystemUtils.USER_NAME | kitty1 |
JAVA_VERSION_FLOAT | 1.42 |
JAVA_VERSION_INT | 142 |
IS_JAVA_1_1 | false |
IS_JAVA_1_2 | false |
IS_JAVA_1_3 | false |
IS_JAVA_1_4 | true |
IS_JAVA_1_5 | false |
IS_OS_AIX | false |
IS_OS_HP_UX | false |
IS_OS_IRIX | false |
IS_OS_LINUX | false |
IS_OS_MAC | false |
IS_OS_MAC_OSX | false |
IS_OS_OS2 | false |
IS_OS_SOLARIS | false |
IS_OS_SUN_OS | false |
IS_OS_WINDOWS | true |
IS_OS_WINDOWS_2000 | true |
IS_OS_WINDOWS_95 | false |
IS_OS_WINDOWS_98 | false |
IS_OS_WINDOWS_ME | false |
IS_OS_WINDOWS_NT | false |
IS_OS_WINDOWS_XP | false |
IV. org.apache.commons.lang.StringUtils
java api의 String을 보면 문자열 처리하기에는 제공하는 기능들이 너무 빈약합니다.
그래서 프로그래머들은 자기 나름데로의 독특한 Utils를 만들어 사용하지요.
하지만 Commons-lang에서 제공하는 StringUtils를 사용한다면 더이상 자신만의 Utils를 사용할 필요가 없습니다.
여기 모두 ㄷ ㅏ ~ 있기 때문이지요 ^^
한가지 더 장점이 있다면 String의 null 값때문에 더이상 NullPointerException을 생각하지 않아도 된다는 것입니다. StringUtils에서 ㄷ ㅏ ~ 알아서 해주기 때문입니다.
그럼 어떠한 기능들의 함수가 있는지 알아봅시다
반환값 | 함수명 | 파라미터 |
String | abbreviate | String str, int maxWidth |
"…"를 포함한 지정한 사이즈로 문자열을 축소한다 maxWidth은 4보다 커야한다 | ||
String | abbreviate | String str, int offset, int maxWidth |
"…"를 포함한 지정한 사이즈로 문자열을 앞/뒤로 축소한다 offset은 7보다 커야한다 | ||
String | capitalise | String str |
deprecated | ||
String | capitaliseAllWords | String str |
deprecated | ||
String | capitalize | String str |
문자열중 첫번째 문자를 대문자로 만든다 | ||
String | center | String str, int size |
str의 길이가 size가 되도록 문자열 좌우에 공백문자를 하나씩 추가한다 (우측부터 시작한다) | ||
String | center | String str, int size, char padChar |
str의 길이가 size가 되도록 문자열 좌우에 padChar를 하나씩 추가한다 (우측부터 시작한다) | ||
String | center | String str, int size, String padStr |
str의 길이가 size가 되도록 문자열 좌우에 padStr을 하나씩 추가한다 (우측부터 시작한다) | ||
String | chomp | String str |
문자열 맨 끝에있는 '\n' , '\r', '\r\n'을 제거한다 | ||
String | chomp | String str, String separator |
문자열 맨 끝에 separator가 있으면 이를 제거한다 | ||
String | chompLast | String str |
deprecated | ||
String | chompLast | String str, String sep |
deprecated | ||
String | chop | String str |
문자열 맨 끝에있는 문자 하나를 제거한다 | ||
String | chopNewline | String str |
deprecated | ||
String | clean | String str |
deprecated | ||
String | concatenate | Object array[] |
deprecated | ||
boolean | contains | String str, char searchChar |
str이 searchChar를 포함하고 있으면 true | ||
boolean | contains | String str, String searchStr |
str이 searchStr을 포함하고 있으면 true | ||
boolean | containsNone | String str, char invalidChars[] |
str이 invalidChars의 각 문자를 모두 포함하고 있지 않으면 true | ||
boolean | containsNone | String str, String invalidChars |
str이 invalidChars를 모두 포함하고 있지 않으면 true | ||
boolean | containsOnly | String str, char valid[] |
str이 valid의 각 문자들만 포함하고 있어야 true | ||
boolean | containsOnly | String str, String validChars |
str이 validChars 들만을 포함하고 있어야 true | ||
int | countMatches | String str, String sub |
str중에 sub가 포함되어있는 갯수를 반환한다 | ||
String | defaultString | String str |
str이 null이면 ""를 반환하고 아니면 str을 반환한다 | ||
String | defaultString | String str, String defaultStr |
str이 null이면 defaultStr을 반환하고 아니면 str을 반환한다 | ||
String | deleteSpaces | String str |
deprecated | ||
String | deleteWhitespace | String str |
문자열중 공백문자가 있으면 모두 제거한다 | ||
String | difference | String str1, String str2 |
str1과 str2를 비교하여 다른부분을 반환한다 (str2의 부분을 반환) | ||
boolean | equals | String str1, String str2 |
str1이 null이면 str2가 null인지 유무를 반환하고 str1이 null이 아니면 str1과 str2의 equals를 반환 | ||
boolean | equalsIgnoreCase | String str1, String str2 |
equals와 동일하며 대소문자를 무시하고 비교한다 | ||
String | escape | String str |
deprecated | ||
String | getChomp | String str, String sep |
deprecated | ||
String | getNestedString | String str, String tag |
deprecated | ||
String | getNestedString | String str, String open, String close |
deprecated | ||
String | getPrechomp | String str, String sep |
deprecated | ||
int | indexOf | String str, char searchChar |
str에서 첫번째 searchChar의 인덱스를 반환한다 | ||
int | indexOf | String str, char searchChar, int startPos |
str의 startPos 인덱스부터 첫번째 searchChar의 인덱스를 반환한다 | ||
int | indexOf | String str, String searchStr |
str에서 첫번째 searchStr의 인덱스를 반환한다 | ||
int | indexOf | String str, String searchStr, int startPos |
str의 startPos 인덱스로부터 첫번째 searchStr의 인덱스를 반환한다 | ||
int | indexOfAny | String str, char searchChars[] |
str에서 searchChars중 포함하고 있는 문자의 첫번째 인덱스를 반환한다 | ||
int | indexOfAny | String str String searchChars |
str에서 searchChars중 포함하고 있는 문자열의 첫번째 인덱스를 반환한다 | ||
int | indexOfAny | String str, String searchStrs[] |
str에서 searchStr중 포함하고 잇는 문자열의 첫번째 인덱스를 반환한다 | ||
int | indexOfAnyBut | String str char searchChars[] |
str에서 searchChars중 포함되지 않은 문자 첫번째 인덱스를 반환한다 | ||
int | indexOfAnyBut | String str, String searchChars |
str에서 searchChars중 포함되지 않은 문자 첫번째 인덱스를 반환한다 | ||
int | indexOfDifference | String str1, String str2 |
str1과 str2를 비교하여 문자열이 틀려지기 시작하는 인덱스를 반환한다 | ||
boolean | isAlpha | String str |
문자열이 모두 Character.isLetter 이면 true (모두 문자이면 true) | ||
boolean | isAlphanumeric | String str |
문자열이 모두 Character.isLetterOrDigit 이면 true (문자거나 숫자이면 true) | ||
boolean | isAlphanumericSpace | String str |
문자열이 모두 Character.isLetterOrDigit 이거나 공백이면 true | ||
boolean | isAlphaSpace | String str |
문자열이 모두 Character.isLetter 이거나 공백문자이면 true | ||
boolean | isBlank | String str |
문자열이 공백문자이거나 길이가 0이거나 null인경우 true | ||
boolean | isEmpty | String str |
문자열이 길이가 0이거나 null인경우 true | ||
boolean | isNotBlank | String str |
문자열이 공백문자도 아니고 길이가 0도 아니고 null도 아니면 true | ||
boolean | isNotEmpty | String str |
문자열이 길이가 0이 아니고 null도 아니면 true | ||
boolean | isNumeric | String str |
문자열이 모두 Character.isDigit 이면 true (모두 숫자이면 true) | ||
boolean | isNumericSpace | String str |
문자열이 모두 Character.isDigit 이거나 공백문자이면 true | ||
boolean | isWhitespace | String str |
문자열이 모두 Character.isWhitespace 이면 true (모두 공백이면 true) | ||
String | join | Object array[] |
array에서 문자열을 읽어와 모두 연결시킨다 | ||
String | join | Object array[], char separator |
array에서 문자열을 읽어와 separator를 구분자로 연결시킨다 | ||
String | join | Object array[], String separator |
array에서 문자열을 읽어와 separator를 구분자로 연결시킨다 | ||
String | join | Iterator iterator, char separator |
iterator에서 문자열을 읽어와 separator를 구분자로 연결시킨다 | ||
String | join | Iterator iterator, String separator |
iterator에서 문자열을 읽어와 separator를 구분자로 연결시킨다 | ||
int | lastIndexOf | String str, char searchChar |
str에서 마지막 searchChar의 인덱스를 반환한다 | ||
int | lastIndexOf | String str, char searchChar, int startPos |
str의 startPos 인덱스부터 마지막 searchChar의 인덱스를 반환한다 | ||
int | lastIndexOf | String str, String searchStr |
str에서 마지막 searchStr의 인덱스를 반환한다 | ||
int | lastIndexOf | String str, String searchStr, int startPos |
str의 startPos 인덱스부터 마지막 searchStr의 인덱스를 반환한다 | ||
int | lastIndexOfAny | String str, String searchStrs[] |
str에서 searchStr의 문자열들중 포함하고 있는 문자열의 마지막 인덱스를 반환한다 | ||
String | left | String str, int len |
str의 좌측에서 len 길이만큼 문자열을 구한다 | ||
String | leftPad | String str, int size |
str의 길이가 size가 되도록 문자열 왼쪽에 ' '을 추가한다 | ||
String | leftPad | String str, int size, char padChar |
str의 길이가 size가 되도록 문자열 왼쪽에 padChar를 추가한다 | ||
String | leftPad | String str, int size, String padStr |
str의 길이가 size가 되도록 문자열 왼쪽에 padStr을 추가한다 | ||
String | lowerCase | String str |
str을 소문자로 변환한다 | ||
String | mid | String str, int pos, int len |
str의 pos 인덱스부터 len 길이만큼의 문자열을 구한다 | ||
String | overlay | String str, String overlay, int start, int end |
str의 start부터 end까지overlay로 변환한다 | ||
String | overlayString | String text, String overlay, int start, int end |
deprecated | ||
String | prechomp | String str, String sep |
deprecated | ||
String | repeat | String str, int repeat |
str을 repeat만큼 반복하여 반환한다 | ||
String | replace | String text, String repl, String width |
text에서 모든 repl을 width로 변환한다 | ||
String | replace | String text, String repl, String width, int max |
text에서 모든 repl을 width로 변환하는데 최대 max개만큼 변환한다 | ||
String | replaceChars | String str, char searchChar, char replaceChar |
str에서 searchChar를 replaceChar로 모두 변환한다 | ||
String | replaceChars | String str, String searchChars, String replaceChars |
str에서 searchChars를 replaceChars로 모두 변환한다 | ||
String | replaceOne | String text, String repl, String width |
text에서 repl를 width로 변환하는데 첫번째 하나만 변환한다 | ||
String | reverse | String str |
문자열을 앞뒤 순서를 바꾼다 | ||
String | reverseDelimited | String str, char separatorChar |
separatorChar를 구분으로 문자열을 나눈 후 나눠진 단어들을 역순으로 바꾼다 | ||
String | reverseDelimitedString | String str, String separatorChars |
deprecated | ||
String | right | String str, int len |
str의 len길이만큼 우측에서 문자열을 구한다 | ||
String | rightPad | String str, int size |
str의 길이가 size가 되도록 문자열 오른쪽에 ' '을 추가한다 | ||
String | rightPad | String str, int size, char padChar |
str의 길이가 size가 되도록 문자열 오른쪽에 padChar를 추가한다 | ||
String | rightPad | String str, int size, String padStr |
str의 길이가 size가 되도록 문자열 오른쪽에 padStr을 추가한다 | ||
String[] | split | String str |
공백문자를 구분자로 사용하여 분리한다 | ||
String[] | split | String str, char separatorChar |
separatorChar를 구분자로 사용하여 분리한다 | ||
String[] | split | String str, String separatorChars |
separatorChars를 구분자로 사용하여 분리한다 | ||
String[] | split | String str, String seperatorChars, int max |
separatorChars를 구분자로 사용하여 분리한며 최대 max개 만큼한다. 배열의 크기는 max가 된다 | ||
String | strip | String str |
문자열 좌우에 있는 공백문자를 제거한다 trim과 동일하다 | ||
String | strip | String str, String stripChars |
문자열 좌우에 stripChars에 존재하는 문자를 제거한다 | ||
String[] | stripAll | String strs[] |
배열에 있는 모든 문자열 좌우에 있는 공백문자를 제거한다 | ||
String[] | stripAll | String strs[], String stripChars |
배열에 있는 모든 문자열 좌우에 stripChars에 존재하는 문자를 제거한다 | ||
String | stripEnd | String str, String stripChars |
문자열 우측에만 strip 한다 | ||
String | stripStart | String str, String stripChars |
문자열 좌측에만 strip 한다 | ||
String | stripToEmpty | String str |
str이 null이면 ""를 반환하고 아니면 strip 한다 | ||
String | stripToNull | String str |
str이 null이면 null을 반환하고 아니면 strip 한다 | ||
String | substring | String str, int start |
str의 start 인덱스부터 문자열을 구한다 | ||
String | substring | String str, int start, int end |
str의 start 부터 end 인덱스 까지 문자열을 구한다 | ||
String | substringAfter | String str, String separator |
str의 처음 separator 부분부터 문자열을 구한다 | ||
String | substringAfterLast | String str, String separator |
str의 마지막 separator부분부터 문자열을 구한다 | ||
String | substringBefore | String str, String separator |
str의 처음 separator 부분까지 문자열을 구한다 | ||
String | substringBeforeLast | String str, String separator |
str의 마지막 separator부분까지 문자열을 구한다 | ||
String | substringBetween | String str, String tag |
str에서 tag 사이에 있는 문자열을 구한다 | ||
String | substringBetween | String str, String open, String close |
str에서 open부터 close 까지 사이에 있는 문자열을 구한다 | ||
String | swapCase | String str |
대문자는 소문자로 변환하고 소문자는 대문자로 변환한다 | ||
String | trimToNull | String str |
str이 null이거나 length가 0이면 null을 반환하고 그렇지 않으면 좌우 공백문자를 제거한다 | ||
String | trim | String str |
문자열 좌우 공백문자를 제거한다 | ||
String | trimToEmpty | String str |
str이 null이면 ""를 반환하고 그렇지 않으면 좌우 공백문자를 제거한다 | ||
String | uncapitalise | String str |
deprecated | ||
String | uncapitalize | String str |
문자열의 첫문자를 소문자로 변환한다 | ||
String | upperCase | String str |
str을 대문자로 변환한다 |
사용법
모두 static 함수이기때문에 다음과 같이 사용하면 됩니다.
String text = StringUtils.replace(str, repl, width);
V. org.apache.commons.lang.StringEscapeUtils
이 유틸또한 org.apache.commons.lang.StringUtils 처럼 String처리에 대한 유틸입니다.
하지만 기능적인면을 좀더 부각시켜 놓은듯한 유틸입니다.
즉 HTML을 다음과 같이 <는 <로, >는 >로 나타내어야 하는데 이것역시 StringUtils만으론 부족합니다.
replace를 사용하면 되지만 여러번 되겠죠.
이런경우 StringExcapeUtils 에 escapeHtml 함수를 사용하면 됩니다.
이와같이 Html이나 Xml, Javascript, SQL등을 처리하는데 필요한 StringUtils입니다
반환값 | 함수명 | 파라미터 |
String | escapeHtml | String str |
str을 html 포맷으로 변환시킨다 즉 <는 <, >는 > 등으로 변환시킨다 | ||
String | escapeJava | String str |
str의 특정문자를 \b, \n, \t, \f, \r등 자바특수문자로 변환시킨다 또한 "는 \"로, \는 \\로 변환시킨다 | ||
void | escapeJava | Writer out, |
String str escapeJava를 out에 출력한다 | ||
String | escapeJavaScript | String str |
escapeJava와 동일하며 '는 \' 로 변환하는것이 추가되어있다 | ||
void | escapeJavaScript | Writer out, String str |
escapeJavaScript와 동일하며 out에 출력한다 | ||
String | escapeSql | String str |
str에 '를 ''로 변환시킨다 | ||
String | escapeXml | String str |
str을 XML 포맷으로 변환시킨다 | ||
String | unescapeHtml | String str |
escapeHtml 메소드와 역기능 | ||
String | unescapeJava | String str |
escapeJava 메소드와 역기능 | ||
void | unescapeJava | Writer out, String str |
escapeJava 메소드와 역기능 | ||
String | unescapeJavaScript | String str |
escapeJavaScript 메소드와 역기능 | ||
void | unescapeJavaScript | Writer out, String str |
escapeJavaScript 메소드와 역기능 | ||
String | unescapeXml | String str |
escapeXml 메소드와 역기능 |
사용법
모두 static 함수이기때문에 다음과 같이 사용하면 됩니다.
String text = StringEscapeUtils.escapeHtml(str);
VI. org.apache.commons.lang.builder.ToStringBuilder
toString()은 현 객체의 값을 문자열로 변환하여 반환 해주는 메소드로써 직접 구현할려면 노가다성 코드입니다.
하지만 Commons의 ToStringBuilder를 사용하면 는 말 그대로 클래스의 toString()을 쉽게 만들 수 있습니다.
웹에서는 빈클래스등에 toString을 구현하면 쉽게 디벙깅을 할 수 있습니다.
예제
ToStringTest.java
public class ToStringTest {
public static void main(String args[]) {
TestClass test = new TestClass();
System.out.println(test.toString());
}
}
TestClass.java
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
public class TestClass {
private String boardId;
private int boardNo;
public TestClass() {}
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}
(1) refrectionToString 함수
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
reflectionToString은 static함수로써 위와같이 사용하며 파라미터로 스타일을 지정할 수 있습니다. 아래 코드를 봅시다
방법 ①
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
출력 결과
TestClass@1cd2e5f[boardId=<null>,boardNo=0]
방법 ②
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.DEFAULT_STYLE);
}
출력 결과
TestClass@1cd2e5f[boardId=<null>,boardNo=0]
방법 ③
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
}
출력 결과
TestClass@1cd2e5f[
boardId=<null>
boardNo=0
]
방법 ④
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.NO_FIELD_NAMES_STYLE);
}
출력 결과
방법 ⑤
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.SIMPLE_STYLE);
}
출력 결과
<null>,0
(2) append 함수
append 메소드는 static이 아니며 다음과 같은 형식으로 사용 가능합니다.
public String toString() {
return new ToStringBuilder(this).append("boardId", boardId).append("boardNo", boardNo).toString();
}
출력 결과
TestClass@1cd2e5f[boardId=<null>,boardNo=0]
============================================
본문서는 자유롭게 배포/복사 할수 있지만
이문서의 저자에 대한 언급을 삭제하시면 안됩니다
저자 : GoodBug (unicorn@jakartaproject.com)
최초 : http://www.jakartaproject.com
=============================================
댓글