Scala有floatToIntBits和intBitsToFloat方法吗?

lea*_*ner 2 java floating-point scala bit-manipulation

floatToIntBits并且intBitsToFloat是Java的Float类中的方法.Scala有这些功能吗?

Dou*_*hen 5

由于Scala是一种JVM语言,因此您可以访问您正在使用的任何Java运行时的任何和所有功能.这是在JVM之上运行的所有语言的特征,这就是它如此受欢迎的原因(JRuby,Clojure等)

您可能必须明确声明您要访问Java Float类型的静态方法,因为Scala也有一个Float类,但除此之外您应该没问题.

java.lang.Float.floatToIntBits()
Run Code Online (Sandbox Code Playgroud)

换句话说,Scala没有理由实现这一点,因为Java已经这样做了.如果您需要Java中已存在的功能,请使用Java实现.

关于你的澄清意见:

Integer.parseInt是一个静态方法,Integer类是一个String输入,而Scala toInt是一个常见的实例方法,用于Strings之外的许多不同类的实例,用于提取整数表示.他们只是在非常松散的意义上"做"同样的事情; 使用a String作为输入Integer.ParseInt或调用toInta String将获得相同的结果,但它们不是同一个东西,所以它不是一个非常恰当的比较.在设计方面,从整体上看语言,它们暴露出两种截然不同的界面.有一些重叠,正如我们在特定于字符串的情况下所看到的那样,但在一般情况下,DRY哲学在这里非常有用,其中Scala绝对不需要重新实现像floatToIntBits