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