Java2 - [commons.lang] ToStringBuilder
목록 추천  
추천수:
제 목 [commons.lang] ToStringBuilder
작성자 박세청 작성일 2014/01/14 14:15


- 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);

}


출력 결과

TestClass@1cd2e5f[<null>,0]


방법 ⑤

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
=============================================





이전글 J2EE 어플리케이션의 구성
다음글 자바(Java) - Annotation 어노테이션

목록 추천