一、前景提要
- Object類中定義有public String toString()方法,其返回值是 String 類型.
二、默認返回組成
- 類名+@+16進制的hashcode,當使用打印方法打印的toString()默認就是返回整個格式
三、場景
- 很多時候默認的返回,無法讓人直觀的看到對象的數據和結構類型,所以,一般重寫其toString()方法,打印或輸出需要的信息
四、實例重寫
- 重寫代碼
View Code1 @Override 2 public String toString() { 3 return "User{" + 4 "id=" + id + 5 ", userName='" + userName + '\'' + 6 ", passWord='" + passWord + '\'' + 7 '}'; 8 }
- 測試結果:
五、源碼閱讀
1 public String toString() { 2 return getClass().getName() + "@" + Integer.toHexString(hashCode()); 3 }
六、實例源碼
1 package com.baidu.www.bean; 2 3 4 public class User { 5 6 private Integer id; 7 8 private String userName; 9 10 private String passWord; 11 12 public User() { 13 14 } 15 16 public Integer getId() { 17 return id; 18 } 19 20 public void setId(Integer id) { 21 this.id = id; 22 } 23 24 public String getUserName() { 25 return userName; 26 } 27 28 public void setUserName(String userName) { 29 this.userName = userName; 30 } 31 32 public String getPassWord() { 33 return passWord; 34 } 35 36 public void setPassWord(String passWord) { 37 this.passWord = passWord; 38 } 39 40 @Override 41 public String toString() { 42 return "User{" + 43 "id=" + id + 44 ", userName='" + userName + '\'' + 45 ", passWord='" + passWord + '\'' + 46 '}'; 47 } 48 49 /** 50 * 測試toString() 51 * 52 * @param args 傳入值 53 */ 54 public static void main(String[] args) { 55 56 57 User user = new User(); 58 user.setId(1); 59 user.setPassWord("123456"); 60 user.setUserName("zhangsan"); 61 62 System.out.println("用戶信息:" + user.toString()); 63 64 } 65 }
七、總結
經驗傳遞
可以使用快捷鍵生成 IDEA右鍵---->Generate--->toString() 會生成自動重寫的toString()
