이 기사에서는 주로 특정 참조 값이 있는 Java tostring 메소드 재작성 코드 예제를 소개합니다. 필요한 친구는 이에 대해 배울 수 있습니다.
객체를 디스플레이에 출력해야 하는 경우 일반적으로 객체의 내용을 문자열로 변환하기 위해 toString() 메서드가 호출됩니다. Java의 모든 클래스에는 기본적으로 toString() 메서드가 있습니다.
기본적으로 시스템 .out.println(객체 이름) 또는 System.out.println(객체 이름.toString())은 이 객체의 클래스 이름과 이 객체에 해당하는 메모리의 첫 번째 주소를 출력합니다. 출력 정보를 사용자 정의하려면, toString() 메서드
Notes
1을 다시 작성해야 합니다. public
2로 선언해야 합니다. 메서드 이름은 String
3이어야 합니다.
4 메서드 본문에서 출력 메서드 System.out.println()
import java.util.*; public class TreeSetTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub SortedSet<Item> parts=new TreeSet<Item>(); parts.add(new Item("Toaster", 1234)); parts.add(new Item("Widget", 4562)); parts.add(new Item("Modem", 9912)); System.out.println(parts); SortedSet<Item> sortByDescription=new TreeSet<Item>(new Comparator<Item>() { public int compare(Item a, Item b) { String descrA=a.getDescription(); String descrB=b.getDescription(); return descrA.compareTo(descrB); } }); sortByDescription.addAll(parts); System.out.println(sortByDescription); } } class Item implements Comparable<Item> { public Item(String aDescription, int aPartNumber) { description=aDescription; partNumber=aPartNumber; } public String getDescription() { return description; } public boolean equals(Object otherObject) { if(this==otherObject) return true; if(otherObject==null) { return false; } if (getClass()!=otherObject.getClass()) { return false; } Item other=(Item)otherObject; return description.equals(other.description)&& partNumber==other.partNumber; } public int hashCode() { return 13*description.hashCode()+17*partNumber; } public int compareTo(Item other) { return partNumber-other.partNumber; } private String description; private int partNumber; }
을 사용하지 마세요. 출력은 다음과 같습니다.
[Item@8c9e3a56, Item@d780c206, Item@39c021ba] [Item@39c021ba, Item@8c9e3a56, Item@d780c206]
ItemtoString() 메서드를 오버로드한 후:
import java.util.*; public class TreeSetTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub SortedSet<Item> parts=new TreeSet<Item>(); parts.add(new Item("Toaster", 1234)); parts.add(new Item("Widget", 4562)); parts.add(new Item("Modem", 9912)); System.out.println(parts); SortedSet<Item> sortByDescription=new TreeSet<Item>(new Comparator<Item>() { public int compare(Item a, Item b) { String descrA=a.getDescription(); String descrB=b.getDescription(); return descrA.compareTo(descrB); } }); sortByDescription.addAll(parts); System.out.println(sortByDescription); } } class Item implements Comparable<Item> { public Item(String aDescription, int aPartNumber) { description=aDescription; partNumber=aPartNumber; } public String getDescription() { return description; } public String toString() { return "[description="+description +",partNumber="+partNumber+"]"; } public boolean equals(Object otherObject) { if(this==otherObject) return true; if(otherObject==null) { return false; } if (getClass()!=otherObject.getClass()) { return false; } Item other=(Item)otherObject; return description.equals(other.description)&& partNumber==other.partNumber; } public int hashCode() { return 13*description.hashCode()+17*partNumber; } public int compareTo(Item other) { return partNumber-other.partNumber; } private String description; private int partNumber; }
출력은 다음과 같습니다.
[[description=Toaster,partNumber=1234], [description=Widget,partNumber=4562], [description=Modem,partNumber=9912]] [[description=Modem,partNumber=9912], [description=Toaster,partNumber=1234], [description=Widget,partNumber=4562]]
요약
위 내용은 Java에서 tostring 메서드를 재정의하는 코드 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!