1. 程式人生 > >java 的List add 不同型別的物件

java 的List add 不同型別的物件

問題:

今天看java的list ,list後面的<> 裡面可以填多種型別,但是如果不填寫型別那就預設為 Object 型別。 所有我門 add 到 list 裡的 資料都會被轉換成 Object 型別。

而當我門再從list 中取出該資料時,就會發現資料型別已經改變。

解答

Object類是所有Java類的祖先。每個類都使用 Object 作為超類。所有物件(包括陣列)都實現這個類的方法。
在不明確給出超類的情況下,Java會自動把Object作為要定義類的超類。
可以使用型別為Object的變數指向任意型別的物件。

在Java中由於繼承和向上轉型,子類可以非常自然地轉換成父類,但是父類轉換成子類則需要強制轉換。因為子類擁有比父類更多的屬性、更強的功能,所以父類轉換為子類需要強制。那麼,是不是隻要是父類轉換為子類就會成功呢?其實不然,他們之間的強制型別轉換是有條件的。

由於以上的原因 我門存入 list 的不同型別的物件都可以 自然的轉換成Object 型別,但是取出的時候都需要強制轉換。

示例

這裡寫圖片描述