객체를 문자열로 변환

1653 단어 toString

객체를 문자열로 변환


      System.out.println () 방법은 우리가 잘 알고 있는데, 예를 들어 시스템 출력에 사용된다.out.println ("abc") 은 문자열 "abc"를 출력합니다.하지만 시스템이면.out.println () 이 전달하는 매개 변수를 대상으로 하는 것은 어떤 상황입니까?다음은 간단한 예입니다.
package test;

class A{
	int a;
	int b;
	public int getA() {
		return a;
	}

	public void setA(int a) {
		this.a = a;
	}
	
	
	public int getB() {
		return b;
	}

	public void setB(int b) {
		this.b = b;
	}

	
}
public class Test {

	public static void main(String args[]){
		A a = new A();
		a.setA(8);
		a.setB(9);
		System.out.println("a.a:"+a.a);
		System.out.println("a.b:"+a.b);
		System.out.println(a);
	}
}

실행 결과는 다음과 같습니다.
a.a:8
a.b:9
test.A@15093f1

보시다시피 저는 a와 b의 값을 출력하고 싶었지만 결과의 세 번째 줄은 우리가 원하는 결과가 아니었습니다.왜 그랬을까?
Object에 Tostring () 방법이 있지만 불행하게도 우리는 이 방법을 다시 써야 우리의 뜻대로 출력할 수 있습니다. 위의 프로그램을 약간 수정합니다. 즉, Tostring 함수를 바꾸는 코드를 추가합니다.
package test;

class A{
	int a;
	int b;
	public int getA() {
		return a;
	}

	public void setA(int a) {
		this.a = a;
	}
	
	
	public int getB() {
		return b;
	}

	public void setB(int b) {
		this.b = b;
	}

	public String toString(){
		return "A.a:"+a+";A.b:"+b;
	}
	
}
public class Test {

	public static void main(String args[]){
		A a = new A();
		a.setA(8);
		a.setB(9);
		System.out.println("a.a:"+a.a);
		System.out.println("a.b:"+a.b);
		System.out.println(a);
	}
}

실행 결과는 다음과 같습니다.
a.a:8
a.b:9
A.a:8;A.b:9

수정된 후에 우리가 원하는 결과를 출력할 수 있습니다.

좋은 웹페이지 즐겨찾기