:::: 개발 ::::/::: JAVA :::

JAVA 객체 출력 toString OVERRIDE

nayha 2014. 2. 26. 16:14


apache-commons-lang.jar.zip


라이브러리 추가


프로젝트 > 프로퍼티 > Java Build Path > ADD JARs.. 버튼

다운 파일 추가


ToStringBuilder.reflectionToString(볼려고 하는 객체, ToStringStyle.MULTI_LINE_STYLE)



상속받아 하는법


MemberVo에 값을 넣고 출력하기 위한 MainTest클래스
1
2
3
4
5
6
7
8
9
10
public class MainTest {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add(new MemberVo("a001", "김씨"));
        list.add(new MemberVo("b001", "이씨"));
        list.add(new MemberVo("c001", "박씨"));
 
        System.out.println(list);
    }
}
MemberVo 클래스는 AbstractVo 클래스를 상속받는다.
AbstractVo 클래스에 toString메서드가 정의되어있기 때문에 
MainTest클래스에서 MemberVo 클래스의 생성자를 출력해도 
조상인 AbstractVo에 정의되어있는 toString()메서드가 수행된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package test.vo;
 
import common.AbstractVo;
 
public class MemberVo extends AbstractVo{
    private String mem_id;
    private String mem_name;
 
    public MemberVo() { }
    public MemberVo(String mem_id, String mem_name) {
        this.mem_id = mem_id;
        this.mem_name = mem_name;
    }
 
    /////////  getter & setter ////////
    public String getMem_id() {
        return mem_id;
    }
    public void setMem_id(String mem_id) {
        this.mem_id = mem_id;
    }
    public String getMem_name() {
        return mem_name;
    }
    public void setMem_name(String mem_name) {
        this.mem_name = mem_name;
    }
}
AbstractVo 클래스는 toString()메서드가 정의되어있다.
toString()메서드를 아래와같이 정의하면 bean객체의 정보를 깔끔하게 받아올 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package comon;
 
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
 
public class AbstractVo {
 
     
    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
    }
     
}
 

출처
http://imovator.tistory.com/9


반응형