我想使用我正在使用的庫的構造函數。 但我需要傳遞這個對象:如何使用List <?擴展地圖<String, ?>>
List<? extends Map<String, ?>>
但我只有一個目標:
data = ArrayList<MyOwnObject>.
我不明白我是如何適應我的數據,以適應List<? extends Map<String, ?>>
。
謝謝。
我想使用我正在使用的庫的構造函數。 但我需要傳遞這個對象:如何使用List <?擴展地圖<String, ?>>
List<? extends Map<String, ?>>
但我只有一個目標:
data = ArrayList<MyOwnObject>.
我不明白我是如何適應我的數據,以適應List<? extends Map<String, ?>>
。
謝謝。
好的。那<? extends Whatever>
被稱爲有界通配符。它只會匹配你的ArrayList<YourObject>
如果YourObject
屬於一個類實現Map<String, Something>
,其中Something
可以是任何類(這將匹配無界通配符?
)。
您的ArrayList
是完全正常的,因爲它實現了List
接口。這是您的自定義MyOwnObject
需要滿足上述限制。
查看更多關於通配符here。
好的,MyOwnObject已經擴展了其他類,但我可以修改它。現在正在工作。這很奇怪,因爲我的對象正在擴展地圖<>,但我沒有使用任何地圖<>功能。 – user2250466
如果你使用較新的java(不在eclipse中),你會得到「錯誤:不兼容的類型:列表
'MyOwnObject'必須擴展'Map' –
m0skit0
MyOwnObject必須擴展Map。 –
Alexiy