介绍
今天就跟大家聊聊有关如何在java利用tostring方法实现重写,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
当需要将一个对象输出到显示器时,通常要调用他的tostring()方法,将对象的内容转换为字符串. java中的所有类默认都有一个tostring()方法
默认情况下System.out.println(对象名)或者System.out.println(对象名.toString())输出的是此对象的类名和此对象对应内存的首地址如果想自定义输出信息必须重写tostring()方法
<强>注意事项
强>
1。必须被声明为公共
2。返回类型为字符串
3。方法的名称必须为tostring,且无参数
4。方法体中不要使用输出方法System.out.println ()
进口java.util。*; 公开课treeset {/* * * @param arg游戏 */公共静态void main (String [] args) {//TODO自动生成方法存根 SortedSet- 部分=new TreeSet
- (); 部分。add(新项目(“Toaster", 1234)); 部分。add(新项目(“Widget", 4562)); 部分。add(新项目(“Modem", 9912)); System.out.println(部分); SortedSet
- sortByDescription=new TreeSet
- (新 Comparator
- () { 公共int比较(项目a, b项) { 字符串descrA=a.getDescription (); 字符串descrB=b.getDescription (); 返回descrA.compareTo (descrB); } }); sortByDescription.addAll(部分); System.out.println (sortByDescription); } } 类项目实现Comparable
- { 公共物品(字符串aDescription, int aPartNumber) { 描述=aDescription; 零件编号=aPartNumber; } 公共字符串getDescription () { 返回描述; } otherObject公共布尔=(对象) { 如果(这==otherObject) 返回true; 如果(otherObject==null) { 返回错误; } 如果(getClass () !=otherObject.getClass ()) { 返回错误; } 项目其他=(项)otherObject; 返回description.equals (other.description),, 零件编号==other.partNumber; } 公共int hashCode () { 返回13 * description.hashCode() + 17 *零件编号; } 公共int compareTo(项) { 返回partNumber-other.partNumber; } 私人字符串描述; 私人int零件编号; }
输出为:
[Item@8c9e3a56 Item@d780c206 Item@39c021ba] [Item@39c021ba, Item@8c9e3a56 Item@d780c206]
<强>项重载toString()方法强>后:
进口java.util。*; 公开课treeset {/* * * @param arg游戏 */公共静态void main (String [] args) {//TODO自动生成方法存根 SortedSet- 部分=new TreeSet
- (); 部分。add(新项目(“Toaster", 1234)); 部分。add(新项目(“Widget", 4562)); 部分。add(新项目(“Modem", 9912)); System.out.println(部分); SortedSet
- sortByDescription=new TreeSet
- (新 Comparator
- () { 公共int比较(项目a, b项) { 字符串descrA=a.getDescription (); 字符串descrB=b.getDescription (); 返回descrA.compareTo (descrB); } }); sortByDescription.addAll(部分); System.out.println (sortByDescription); } } 类项目实现Comparable
- { 公共物品(字符串aDescription, int aPartNumber) { 描述=aDescription; 零件编号=aPartNumber; } 公共字符串getDescription () { 返回描述; } 公共字符串toString () { 返回“[描述=?描述 +“,零件编号=?零件编号+“]”; } otherObject公共布尔=(对象) { 如果(这==otherObject) 返回true; 如果(otherObject==null) { 返回错误; } 如果(getClass () !=otherObject.getClass ()) { 返回错误; } 项目其他=(项)otherObject; 返回description.equals (other.description),, 零件编号==other.partNumber; } 公共int hashCode () { 返回13 * description.hashCode() + 17 *零件编号; } 公共int compareTo(项) { 返回partNumber-other.partNumber; } 私人字符串描述; 私人int零件编号; }
输出为:
[[描述=烤面包机,零件编号=1234],[描述=小部件、零件编号=4562],[描述=调制解调器,零件编号=9912]] [[描述=调制解调器,零件编号=9912],[描述=烤面包机,零件编号=1234],[描述=小部件、零件编号=4562]]如何在java利用tostring方法实现重写