我可以在Java / Scala 2.10 sbt混合项目中使用Java 8的程度如何?
我可以发出Java 8字节码吗?使用Java 8语言功能?还是Scala 2.11中有必要的功能?有互操作故事吗?
从2.10.4
Scala发行说明中:
基于ASM的新ByteCode发射器
可以针对JDK 1.5、1.6和1.7
默认发出1.6字节码
旧的1.5后端已弃用
也
官方的Scala 2.12发行版将针对Java 8构建(因此需要它)。
有关何时可以期望完全使用Java 8的更多背景信息:
Scala 2.11.x系列针对Java 6,具有(不断发展的)对Java 8的实验性支持。在2.11.1中,Java 8的支持主要限于读取Java 8字节码并解析Java 8源。请继续关注以获得更完整的(实验性)Java 8支持。默认情况下,下一个主要版本2.12最有可能针对Java 8。
和...
计划用于Scala 2.12的将来以Java 8为中心的附加功能包括Java 8>样式闭包,这将使Scala编译器可以像使用Java 8一样发出闭包>类(lambda),还有计划用于SAM类型的lambda>语法。同样,以Java 8方式,这使您可以通过传递一个lambda来用一个单一的抽象方法实例化任何类型,从而改善Scala为Java 8编写的库的用户体验。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句