gpt4 book ai didi

Scala 单元到匿名类

转载 作者:行者123 更新时间:2023-12-01 09:28:45 25 4
gpt4 key购买 nike

是否可以将 Unit 转换为匿名类的方法?

代替:

addSelectionListener(new SelectionListener{
def widgetSelected(SelectionEvent event): Unit = {
//...
}
}

对此:

addSelectionListener toAnonymousClass(classOf[SelectionListener], { 
/* .. */
})

如果没有任何图书馆可以做到这一点,我将如何着手制作一个?可能吗?

最佳答案

我相信下面的隐式转换应该能达到你想要的结果:

implicit def selectionListener (f: SelectionEvent => Unit) = 
new SelectionListener {
def widgetSelected(event: SelectionEvent) {
f(event)
}
}

它会自动将类型为 SelectionEvent => Unit 的函数文字转换为 SelectionListener,这样您就可以使用 addSelectionListener 像这样的方法:

addSelectionListener { event: SelectionEvent =>
/* .. */
}

关于Scala 单元到匿名类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11361321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com