객체의 toString() 메소드를 호출하면 객체의 속성 정보가 바로 출력되는 것으로 알고 있는데 어떻게 구현되나요? 그리고 그것을 더 잘 달성하는 방법은 무엇입니까? 이제 배워봅시다.
Java 문서를 보면 toString() 메소드가 Object 클래스에 정의되어 있고 반환 값 유형이 String 유형이며 클래스 이름과 참조 주소를 반환하는 것을 알 수 있습니다.
String 클래스를 다른 유형과 연결하면 toString() 메서드가 자동으로 호출됩니다. 데모는 다음과 같습니다.
Date now = new Date(); System.out.println("now = " + now);//相当于下一行代码 System.out.println("now = " + now.toString());
실제 응용 프로그램에서는 toString() 메서드를 필요에 따라 사용자 정의 유형으로 다시 작성할 수 있습니다. Stirng 클래스로 문자열의 값을 반환하도록 toString() 메서드를 다시 작성했습니다. 돔은 다음과 같습니다
System.out.println(s1);//相当于下一行代码 System.out.println(s1.toString());
기본 데이터 유형을 String 유형으로 변환하고 해당 패키징 클래스의 toString() 메서드를 사용합니다. 데모는 다음과 같습니다.
int a = 10; System.out.println("a = " + a);
이제 jdk를 살펴보겠습니다. 내부 소스 코드는 어떻게 생겼나요?
public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }
이제 이를 사용하여 연습해 보겠습니다.
Person p1 = new Person(); System.out.println(p1.toString());//TestEquals.Person@15db9742 System.out.println(p1);//TestEquals.Person@15db9742 因为输出的时候回默认调用Objec类toString()方法
객체에 대한 참조를 인쇄할 때 toString( ) 이 객체의 메소드가 실제로는 기본적으로 호출됩니다
인쇄된 객체의 클래스가 그렇지 않은 경우 Object에서 toString() 메소드를 재정의하면 Object 클래스의 toString() 메소드가 기본적으로 호출됩니다.
이 개체의 클래스와 해당 힙 공간 개체 엔터티의 첫 번째 주소 값을 반환합니다.
객체를 인쇄하는 클래스가 toString()을 재정의하면 재정의된 toString() 메서드가 호출됩니다. 일반적으로 재정의는 클래스 객체의 속성 정보를 반환하는 것입니다.
tostring() 메소드를 사용자 정의할 수도 있습니다:
//手动实现 public String toString(){ return " Person:name=" + name +" age=" + age; }
위 내용은 Java에서 tostring 메소드를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!