floatToIntBits
およびintBitsToFloat
Java の Float クラスのメソッドです。Scalaにはそれらの機能がありますか?
2 に答える
Scala は JVM 言語であるため、使用している Java ランタイムのすべての機能にアクセスできます。これは、JVM の上で実行されるすべての言語の特徴であり、JVM が非常に人気がある理由です (JRuby、Clojure など)。
Scala にも Float クラスがあるため、Java Float 型の static メソッドにアクセスしたいことを明示的に述べる必要があるかもしれませんが、それ以外は問題ありません。
java.lang.Float.floatToIntBits()
言い換えれば、Java が既に実装しているので、Scala がこれを実装する理由はありません。Java に既に存在する機能が必要な場合は、Java 実装を使用してください。
あなたの明確なコメントについて:
Integer.parseInt
Integer
は入力としてa を持つクラスの静的メソッドですがString
、Scala のtoInt
は整数表現を抽出するための Strings 以外の多くの異なるクラスのインスタンスで一般的に実装されるインスタンス メソッドです。彼らは非常に大まかな意味で同じことを「行います」。aString
を入力として使用したり、 aをInteger.ParseInt
呼び出したりしても同じ結果が得られますが、それらは同じものではないため、あまり適切な比較にはなりません。設計的に、言語全体を見ると、2 つの非常に異なるインターフェイスが公開されています。String 固有のケースで見られるように、いくつかの重複がありますが、一般的なケースではDRYtoInt
String
Scala が次のような特定のものを再実装する必要がまったくない場合、ここでは哲学が非常に有効です。floatToIntBits
Scala は Java からそれらを使用できます。
scala> java.lang.Float.floatToIntBits(1.0f)
res0: Int = 1065353216
scala> java.lang.Float.intBitsToFloat(1)
res1: Float = 1.4E-45