JAVA中重写toString
来源:互联网 发布:云计算 教育行业 编辑:程序博客网 时间:2024/05/19 03:26
当需要将一个对象输出到显示器时,通常要调用他的toString()方法,将对象的内容转换为字符串.java中的所有类默认都有一个toString()方法
默认情况下 System.out.println(对象名)或者System.out.println(对象名.toString())输出的是此对象的类名和此对象对应内存的首地址 如果想自定义输出信息必须重写toString()方法
注意事项
1.必须被声明为public
2.返回类型为String
3.方法的名称必须为toString,且无参数
4.方法体中不要使用输出方法System.out.println()
import java.util.*;public class TreeSetTest {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubSortedSet<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]
Item重载toString()方法后:
import java.util.*;public class TreeSetTest {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubSortedSet<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]]
1 0
- JAVA中重写toString
- java 中重写toString()方法
- java 中重写toString()方法
- Java中为什么要重写ToString方法
- Java类中重写toString方法
- Java 重写tostring方法
- Java重写toString方法
- java:toString方法重写
- java中打印对象和toString()重写
- java例程练习(重写toString())
- java打印和重写toString
- 重写toString()
- 重写toString()
- toString()重写
- java equals() 和toString()方法重写
- 【Effective Java】Ch3_Methods:Item10_始终重写toString()
- 44 java toString 方法 重写equals 方法
- Java toString equals hashCode 方法的重写
- 修改svn源地址
- CodeForces 402D Upgrading Array
- myBatis3与spring整合之需要的jar包
- 7.2 Handling the Events of a Map View
- V4L2 API详解 <一> 背景知识
- JAVA中重写toString
- spring MVC之开发简单的web应用程序(一)
- javaspring中依赖注入原理及举例
- 关于内连接、外连接
- x&(x-1)表达式的意义
- Algorithm学习笔记 --- 翻硬币(贪心)
- 解决yum错误Error: requested datatype primary not available
- c_str()函数
- 怎么给tee7文章增加附加价值