我有以下情況:斯卡拉 - 尋找序列成員是某種類型的子類型的
的Java的lib類:
class LibClass {
ArrayList<LibClass> children;
}
我的程序Scala代碼:
abstract class MyClass extends LibClass {
def boom { }
def boomMyClassInstances // ???
}
class Lala extends MyClass
class Hoho extends MyClass
的問題是:在方法boomMyClassInstances
什麼是最斯卡拉方法來獲得所有children
的MyClass
,存儲在children
ArrayList
這樣我就可以調用普通的boom
方法了嗎?
我的嘗試是:
def boomMyClassInstances {
children.toArray.map { case mc: MyClass => mc.boom }
}
這是一個正確的做法?它會選擇MyClass
的所有孩子嗎?這就是Scala的正確方法,還是我必須說一些關於類型邊界的內容?