我需要從一個ArrayList
中的幾個對象調用一個方法,這個方法是由一個接口(在這裏我們稱之爲接口)鍵入的。從Java中的接口的ArrayList中提取某些對象?
ArrayList<Interface> obj = new ArrayList();
obj.stream().forEachOrdered((o) -> {
if (/*If o extends ObjectA then run this next line*/) {
o.methodCallNotInTheInterface();
}
});
我的問題是o
永遠只能看到界面,沒有任何其他的方法和變量。
建設應該是' ArrayList obj = new ArrayList <>();'。 (不知道它是否回答了這個問題,沒有真正看過它) –
amit
我使用的是Java 1.8,第二個<>是隱含的,不再需要在那裏。但是謝謝你試圖提供幫助^ _^ –
'ArrayList obj = new ArrayList();'在Java 8中生成編譯警告。*你應該*使用'<>'(鑽石運算符)@amit暗示。 –