自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

防止override toString方法時(shí)產(chǎn)生遞歸

開(kāi)發(fā) 后端
在override toString方法時(shí)經(jīng)常會(huì)產(chǎn)生無(wú)限遞歸的錯(cuò)誤。解決方法就是,不能再調(diào)用當(dāng)前類(lèi)的toString方法,必須調(diào)用當(dāng)前類(lèi)父類(lèi)的toString方法才能返回正確的結(jié)果。

在Java中任何對(duì)象都繼承于Object類(lèi),因此,每個(gè)類(lèi)都有一個(gè)toString方法用于返回當(dāng)前對(duì)象的字符串形式(可能是對(duì)象地址或其他和對(duì)象相關(guān)的信息)。在每個(gè)類(lèi)中也可以覆蓋toString方法以返回自定義的字符串。如下面的代碼將以一定的格式返回對(duì)象的地址:

  1. package string;  
  2.  
  3. public class InfiniteRecursion  
  4. {  
  5.     public String toString()  
  6.     {  
  7.         return "address:" + this;  
  8.     }  
  9.     public static void main(String[] args)  
  10.     {  
  11.         System.out.println(new InfiniteRecursion().toString());  
  12.     }  
  13. }  

如果運(yùn)行上面的程序,將拋出StackOverflowError異常,這說(shuō)明程序的工作棧溢出了。導(dǎo)致這種情況最常見(jiàn)的錯(cuò)誤就是無(wú)限遞歸。這們發(fā)現(xiàn)在toString中使用this來(lái)返回對(duì)象的地址,如果這樣調(diào)用,將會(huì)無(wú)限調(diào)用InfiniteRecursion類(lèi)的toString方法。如果要避免這種情況的出現(xiàn),要將toString改成如下的形式:

  1. public String toString()  
  2. {  
  3.     return "address:" + super.toString();  

也就是說(shuō),不能再調(diào)用當(dāng)前類(lèi)的toString方法,必須調(diào)用當(dāng)前類(lèi)父類(lèi)的toString方法才能返回正確的結(jié)果。

【編輯推薦】

  1. Java編碼問(wèn)題完全解決方案
  2. 使用Java截取字符串的方法
  3. 實(shí)現(xiàn)Java中對(duì)象比較的兩個(gè)方法
  4. 初學(xué)Java多線程:使用Synchronized塊同步方法
  5. 初學(xué)Java多線程:使用Synchronized關(guān)鍵字同步類(lèi)方法
責(zé)任編輯:yangsai 來(lái)源: 真的有外星人嗎
相關(guān)推薦

2009-07-21 12:18:37

ScalaRational對(duì)象toString

2024-08-02 15:08:52

2021-04-16 10:44:01

5G5G網(wǎng)絡(luò)5G終端

2025-02-13 09:32:12

C#重寫(xiě)override

2010-06-04 14:40:31

2010-10-22 15:18:18

SQL注入漏洞

2012-11-30 14:14:39

2009-06-12 16:17:48

Hibernate l

2011-05-23 09:32:43

2012-12-12 09:37:45

代碼編程思想代碼變質(zhì)

2018-12-20 10:54:49

網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)安全漏洞

2009-06-25 15:06:20

Javadoc亂碼

2021-02-22 11:44:43

機(jī)器學(xué)習(xí)數(shù)據(jù)泄露學(xué)習(xí)

2009-06-11 15:16:18

不重復(fù)隨機(jī)數(shù)Java

2018-01-30 17:00:10

Linuxscp命令排除文件

2010-09-25 14:57:08

2020-07-17 07:59:55

數(shù)據(jù)

2017-03-01 14:16:20

2009-06-06 19:17:37

java遞歸刪除

2013-05-27 10:11:25

路由器查詢方式路由器遞歸查詢路由器撲朔圖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)