Scala.Byte与java.lang.Byte-建议使用哪个?

时间:2019-05-28 13:15:18

标签: java scala

我想知道两种可能性中哪一种是更可取的。我认为它们大致相同。 有两种实现方式的原因是什么? 在性能或功能上有区别吗?

2 个答案:

答案 0 :(得分:4)

在大多数情况下使用scala.Byte,因为它在Java术语中既与 bytejava.lang.Byte都对应,而且您通常希望使用byte。编译器将在可行的情况下将byte用于scala.Byte

答案 1 :(得分:3)

  

我认为它们或多或少都一样。

完全一样。 Scala编译器编译为Java字节码,就像Java编译器也编译为JVM字节码一样。因此,scala.Byte的字节码与java.lang.Byte的用法相同。

  

为什么要执行两种实施方式?

“ Scala在JVM上运行,因此Java和Scala堆栈可以自由混合以实现完全无缝的集成。”这就是在https://www.scala-lang.org/上描述Scala的方式。因此,Scala中实际上没有两个实现。如果愿意,您可以使用Java中的功能。

  

在性能或功能上是否存在差异

如上所述,您可以在字节码级别将它们视为相等。但是,它们至少在用法上有所不同。如果像使用Java一样编写Scala代码,则可以期望获得相同的性能。

  

推荐使用哪个?

如果可以,请使用Scala实现。仅仅是因为您不会离开“ Scala世界”,因此可以从语言的潜在改进中受益。