簡體   English   中英

Java將類擴展為函數參數

[英]Java extends class as function argument

對java來說並不陌生,但這個問題困擾着我。 我想我沒有堅實的基礎。

假設ABCB extends AC extends A 我的問題是,如何定義方法f()以便它可以將List<A>List<B>List<C>作為參數?

使用上限通配符:

f(List<? extends A> list)

有關更多信息,請參閱Oracle的教程

請注意,這限制了您只能從方法體中的列表中取出內容; 你不能在列表上調用消費者方法:

A item = list.get(0);  // OK.
list.add(new A());     // Not OK! list might be a List<B>.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM