我們要判斷輸出的到底是什麼的話其實要記住以下幾點
1 對於基本數據類型
我們的輸出語句打印的就是內容
2 對於引用數據類型
我們要判斷該類型是否重寫了toString()方法!
eg;
對於集合類我們應該明確
Collection(接口)—AbstractCollection(抽象類)–AbstractList(抽象類)–ArrayList(類)
Collection(接口)—AbstractCollection(抽象類)–AbstractSet(抽象類)–TreeSet(類)
Map(接口)–AbstractMap(抽象類)–HashMap(類)
————————————————
Map<String,String> map = new HashMap<String,String>();
//V put(K key, V value) 將指定的值與該映射中的指定鍵相關聯
map.put("itheima001","林青霞");
map.put("itheima002","張曼玉");
map.put("itheima003","王祖賢");
map.put("itheima003","柳巖");
// Set<Map.Entry<String, String>> entries = map.entrySet();
// for (Map.Entry<String, String> entry : entries) {
// System.out.println(entry);
// }
//輸出集合對象
System.out.println(map);
我們這裏輸出的就是內容,因爲hashmap集合重寫了toString()方法,
eg2
Student student=new Student();
System.out.println(student);此時輸出的爲哈希值。因爲未重寫toString方法。
Object類的toString方法返回的是
//該方法打印的是哈希值
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}