2013-03-21 2 views
-1

// 문자열이 어떻게 작동하고 그 주요 기능은 무엇인지 이해하려고 노력했지만 문제가 있습니다. 다음의 예시와 같습니다. toString 메서드는 정확히 무엇을합니까?toString 메서드는 어떻게 작동합니까?

public class Item { 

    private String name; 
    private int price; 
    private int qty; 

    public Item() { 

    } 

    public Item(String n, int p, int q){ 
     this.name=n; 
     this.price=p; 
     this.qty=q; 
    } 

    public String getName() { 
     return name; 
    } 

    public int getPrice() { 
     return price; 
    } 

    public int getQty() { 
     return qty; 
    } 

    public String toString() { 
     return name +": $" + price+":" + qty; 
    } 

답변

7

toString에 목적은 명확 API에 설명되어 있습니다 :

객체의 캐릭터 라인 표현을 돌려줍니다. 일반적으로 toString 메서드는이 개체를 "텍스트로 나타내는"문자열을 반환합니다. 결과는 사람이 읽기 쉽도록 간결하지만 유익한 표현 인 이어야합니다. 모든 하위 클래스가이 메서드를 재정의하는 것이 좋습니다.

Object#toString() will produce: 

Object 클래스의 toString 메소드는 의 목적은 인스턴스, 상기 서명 문자`@ '로되어있는 클래스의 이름을 구성된 문자열 및 부호없는 16 진수 반환 해시 표현은 객체의 코드입니다. 당신이 개체 #의 toString을 기본 클래스 호출에있는 toString를 오버라이드 (override)하는 경우

getClass().getName() + '@' + Integer.toHexString(hashCode()) 

() yourclass #의 toString로 대체됩니다() : 즉,이 메소드는 다음의 값 동일한 문자열을 반환합니다. 당신이 항목 인스턴스를 인쇄하려고하면 현재 코드에서 출력 형식이 될 것입니다 :

name +": $" + price+":" + qty; 
+0

의미가 있습니다 .... – duffymo

+0

덧붙이면 : 객체를 완전히 복제하려면'toString'을 사용할 수 있습니다. 예를 들어'Tile (int x, int y, int z)'는'Tile [x = 5] [y = 1] [z = 7]'와 같이 출력됩니다. –

1

toString은 일반적으로 사용하기 쉽고 읽을 수있는 개체의 문자열 표현입니다. 디버깅, 로깅 또는 최종 사용자/클라이언트에게 정보를 표시하는 데 사용할 수 있습니다.

toString을 사용하는 방법과시기에 대해 설명하는 간략한 설명은 tutorial입니다.

0

toString은 java가 클래스 객체의 문자열 표현을 필요로 할 때마다 호출되는 함수입니다. 예를 들어 System.out.println(a);을 호출하면 a의 유형은 Item이고 toString에 의해 반환 된 값이 표시됩니다. 이 메소드는 Object의 일부이므로 모든 Java 객체에는 기본 구현이 있습니다. 아직도 많은 경우에 정보를 충분히 제공하지 못하기 때문에이를 무시하는 것이 좋습니다.

0

toStringObject

0123의 String 표현을 제공

이 클래스 다음과 같은 호출을 상상해

System.out.println(aPerson.getName()); 

우리 toString 방법은 우리가 간단하게 할 수 있다는 것을 의미합니다 :

System.out.println(aPerson); 
0

내가 편리한 함수로 toString() 생각하고 싶습니다.

MyObject m = ...// 
System.err.println(m); 

println(m) 실제로 객체의 사람이 읽을 수있는 표현을 얻을 수 m.toString()를 호출한다 : 당신이 뭔가를 할 때마다. 모든 Object에는 고유하므로 항상 자신의 Object를 가장 잘 설명하는 String을 반환하도록 무시할 수 있습니다.

관련 문제