Java?toString方法使用超全講解
一、Object類中toString的作用
1、在主方法中我們可以直接用toString輸出對(duì)象其中的內(nèi)容
2、我們需要直接輸出對(duì)象中所屬內(nèi)容時(shí),直接使用toString方法輸出語句,輸出內(nèi)容不友好,不便于閱讀
子類:
public class Student { private String name; private int age; private double height; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getHeight() { return height; } public void setHeight(double height) { this.height = height; } public Student() { } public Student(String name, int age, double height) { this.name = name; this.age = age; this.height = height; } }
父類:
public class Test { public static void main(String[] args) { //創(chuàng)建一個(gè)Student類的具體實(shí)例: Student s = new Student("菲菲",19,160.8); //System.out.println(s);//com.msb.test01.Student@4554617c System.out.println(s); } }
3、上述兩個(gè)代碼書寫后在測試類Test中輸出為下:
二、正確使用toString
子類對(duì)父類提供的toString方法不滿意,進(jìn)行改寫,使之符合自己的需求!
?。?!按照父類提供的模板進(jìn)行改寫?。?!
改寫后輸出結(jié)果為:
總結(jié):toString的作用就是對(duì)對(duì)象進(jìn)行“自我介紹”,一般子類對(duì)父類提供的toString都不滿意,都要進(jìn)行重寫。
三、在IDEA中高效使用toString
第一步:alt +insert
第二步:選中toString()
第三步:將所需參數(shù)選中,點(diǎn)擊OK!
第四步:生成你所需的方法,也可在此基礎(chǔ)上進(jìn)行修改達(dá)到最佳效果!
四、總結(jié)
toString方法:
生成一個(gè)toString方法,將你需要的內(nèi)容整合好,使你調(diào)用這個(gè)方法時(shí)直接輸出,
是主方法中的輸出語句中System.out.println(對(duì)象 .toString() );直接輸出所需內(nèi)容!
附:Java toString方法使用錯(cuò)誤匯總
Java中的toString()方法是一個(gè)非常常用的方法,但是在使用時(shí)也需要注意一些問題,否則可能會(huì)出現(xiàn)錯(cuò)誤。以下是一些常見的使用錯(cuò)誤:
忘記重寫toString()方法
如果我們沒有在自定義類中重寫toString()方法,那么默認(rèn)會(huì)使用Object類中的toString()方法,該方法返回的是一個(gè)包含類名和哈希碼的字符串,這通常不是我們想要的結(jié)果。因此,我們需要在自定義類中重寫toString()方法,以返回我們需要的字符串表示形式。
toString()方法中出現(xiàn)空指針異常
如果我們?cè)趖oString()方法中引用了一個(gè)空對(duì)象的屬性,那么就會(huì)出現(xiàn)空指針異常。因此,在使用toString()方法時(shí),需要確保所有引用的屬性都不為空。
toString()方法中出現(xiàn)死循環(huán)
如果我們?cè)趖oString()方法中引用了該類的對(duì)象,而該對(duì)象又引用了該類的對(duì)象,那么就會(huì)出現(xiàn)死循環(huán),導(dǎo)致程序崩潰。因此,在使用toString()方法時(shí),需要確保不會(huì)出現(xiàn)循環(huán)引用的情況。
toString()方法中返回的字符串過長
如果我們?cè)趖oString()方法中返回的字符串過長,那么可能會(huì)導(dǎo)致程序的性能下降。因此,在使用toString()方法時(shí),需要確保返回的字符串不會(huì)過長,可以只返回一些關(guān)鍵信息。
總之,在使用toString()方法時(shí),需要注意以上問題,以確保程序的正確性和性能。
到此這篇關(guān)于Java toString方法使用超全講解的文章就介紹到這了,更多相關(guān)toString方法使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 下數(shù)據(jù)業(yè)務(wù)邏輯開發(fā)技術(shù) JOOQ 和 SPL
這篇文章主要為大家介紹了Java 下數(shù)據(jù)業(yè)務(wù)邏輯開發(fā)技術(shù) JOOQ 和 SPL詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09SpringBoot中如何解決讀取properties文件讀取問題
這篇文章主要介紹了SpringBoot中如何解決讀取properties文件讀取問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07深度解析Java中volatile的內(nèi)存語義實(shí)現(xiàn)以及運(yùn)用場景
這篇文章主要介紹了Java中volatile的內(nèi)存語義實(shí)現(xiàn)以及運(yùn)用場景,通過JVM的機(jī)制來分析volatile關(guān)鍵字在線程編程中的作用,需要的朋友可以參考下2015-12-12Java并發(fā)編程中的ConcurrentLinkedQueue詳解
這篇文章主要介紹了Java并發(fā)編程中的ConcurrentLinkedQueue詳解,GetThread線程不會(huì)因?yàn)镃oncurrentLinkedQueue隊(duì)列為空而等待,而是直接返回null,所以當(dāng)實(shí)現(xiàn)隊(duì)列不空時(shí),等待時(shí),則需要用戶自己實(shí)現(xiàn)等待邏輯,需要的朋友可以參考下2023-12-12Java實(shí)現(xiàn)HTTP請(qǐng)求的4種方式總結(jié)
這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)HTTP請(qǐng)求的4種方式,在java開發(fā)中,經(jīng)常遇到需要調(diào)用第三方提供的接口服務(wù)的需求,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下2023-08-08Java利用Dijkstra和Floyd分別求取圖的最短路徑
本文主要介紹了圖的最短路徑的概念,并分別利用Dijkstra算法和Floyd算法求取最短路徑,最后提供了基于鄰接矩陣和鄰接表的圖對(duì)兩種算法的Java實(shí)現(xiàn)。需要的可以參考一下2022-01-01