欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java tostring方法重寫代碼示例

 更新時(shí)間:2017年10月11日 10:11:22   作者:譚墨墨快樂  
這篇文章主要介紹了java tostring方法重寫代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。

當(dāng)需要將一個(gè)對(duì)象輸出到顯示器時(shí),通常要調(diào)用他的toString()方法,將對(duì)象的內(nèi)容轉(zhuǎn)換為字符串.java中的所有類默認(rèn)都有一個(gè)toString()方法

默認(rèn)情況下 System.out.println(對(duì)象名)或者System.out.println(對(duì)象名.toString())輸出的是此對(duì)象的類名和此對(duì)象對(duì)應(yīng)內(nèi)存的首地址 如果想自定義輸出信息必須重寫toString()方法

注意事項(xiàng)

1.必須被聲明為public

2.返回類型為String

3.方法的名稱必須為toString,且無參數(shù)

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]

Item重載toString()方法后:

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]]

總結(jié)

以上就是本文關(guān)于java tostring方法重寫代碼示例的全部內(nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以參閱:Java系統(tǒng)的高并發(fā)解決方法詳解、Java編程倒計(jì)時(shí)實(shí)現(xiàn)方法示例、Java AtomicInteger類的使用方法詳解等。有問題您可以留言,歡迎大家交流討論。

相關(guān)文章

  • SpringBoot中必須掌握的常用注解小結(jié)

    SpringBoot中必須掌握的常用注解小結(jié)

    Spring?Boot?提供了大量的注解,用于簡化配置和加速程序開發(fā),這篇文章主要來和大家Spring?Boot中的常用注解的具體使用,希望對(duì)大家有所幫助
    2024-11-11
  • java 分轉(zhuǎn)元與元轉(zhuǎn)分實(shí)現(xiàn)操作

    java 分轉(zhuǎn)元與元轉(zhuǎn)分實(shí)現(xiàn)操作

    這篇文章主要介紹了java 分轉(zhuǎn)元與元轉(zhuǎn)分實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 從內(nèi)存地址解析Java的static關(guān)鍵字的作用

    從內(nèi)存地址解析Java的static關(guān)鍵字的作用

    這篇文章主要介紹了從內(nèi)存地址解析Java的static關(guān)鍵字的作用,包括靜態(tài)成員變量和靜態(tài)方法等重要內(nèi)容,需要的朋友可以參考下
    2015-10-10
  • springboot 參數(shù)格式校驗(yàn)操作

    springboot 參數(shù)格式校驗(yàn)操作

    這篇文章主要介紹了springboot 參數(shù)格式校驗(yàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • java哈希算法HashMap經(jīng)典面試題目匯總解析

    java哈希算法HashMap經(jīng)典面試題目匯總解析

    這篇文章主要為大家介紹了java哈希算法HashMap的經(jīng)典面試題目匯總及問題解析,幫助大家徹底征服面試官,實(shí)現(xiàn)薪資自由,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • 使用jdk7的nio2操作文件拷貝和剪切示例

    使用jdk7的nio2操作文件拷貝和剪切示例

    使用jdk7的NIO2進(jìn)行文件或文件夾的拷貝移動(dòng)操作??梢宰詣?dòng)創(chuàng)建路徑,差異化更新文件,簡單的出錯(cuò)重連機(jī)制
    2014-01-01
  • Java 接口和抽象類的區(qū)別詳解

    Java 接口和抽象類的區(qū)別詳解

    在面向?qū)ο缶幊讨校橄箢惡徒涌谑莾蓚€(gè)經(jīng)常被用到的語法概念,是面向?qū)ο笏拇筇匦?,以及很多設(shè)計(jì)模式、設(shè)計(jì)思想、設(shè)計(jì)原則編程實(shí)現(xiàn)的基礎(chǔ)。本文將主要講解二者的區(qū)別
    2021-05-05
  • Springboot使用Maven占位符@替換不生效問題及解決

    Springboot使用Maven占位符@替換不生效問題及解決

    這篇文章主要介紹了Springboot使用Maven占位符@替換不生效問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Eclipse 項(xiàng)目出現(xiàn)錯(cuò)誤(紅色嘆號(hào))解決方法

    Eclipse 項(xiàng)目出現(xiàn)錯(cuò)誤(紅色嘆號(hào))解決方法

    這篇文章主要介紹了Eclipse 項(xiàng)目出現(xiàn)錯(cuò)誤(紅色嘆號(hào))解決方法的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Java超詳細(xì)梳理異常處理機(jī)制

    Java超詳細(xì)梳理異常處理機(jī)制

    異常就是不正常,比如當(dāng)我們身體出現(xiàn)了異常我們會(huì)根據(jù)身體情況選擇喝開水、吃藥、看病、等?異常處理方法。?java異常處理機(jī)制是我們java語言使用異常處理機(jī)制為程序提供了錯(cuò)誤處理的能力,程序出現(xiàn)的錯(cuò)誤,程序可以安全的退出,以保證程序正常的運(yùn)行等
    2022-04-04

最新評(píng)論