gpt4 book ai didi

scala - 如何将 Scala 特征转换为 java?

转载 作者:行者123 更新时间:2023-12-01 08:17:27 26 4
gpt4 key购买 nike

例如假设我有

abstract class OrderRouter extends Market {
}

我通常会按如下方式实例化
new OrderRouter with NYSE

我如何将上面的行翻译成java?纽约证券交易所是扩展市场的特征。

最佳答案

看问题How are Scala traits compiled into Java bytecode? ,以及接受的答案。

总结是,假设 NYSE 有 getOrderBook()方法,Java 版本如下所示:

new OrderRouter() {
public OrderBook getOrderBook() {
return NYSE$class.getOrderBook();
}
}

Scala 编译器为合成类生成字节码,通过组合/包装混合所有特征实现。由于 javac没有此功能,您需要自己将 trait 方法的委托(delegate)连接到 trait 的单例对象。

关于scala - 如何将 Scala 特征转换为 java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7307378/

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