Scala scheint wie Java zu verhalten, wenn es um die magische Umwandlung von Primitiven kommt:Wie alle implizite Konvertierung von primitiven Typen zu deaktivieren?
val a: Int = 1
val b: Double = 2.3
println(a + b) // 3.3
println(Math.max(a, b)) // 2.3
Mehr als oft nicht, ist dies eine Quelle für Fehler in meinem Code ist. Gibt es eine Möglichkeit, diese impliziten Konvertierungen zu deaktivieren, so dass mein Beispiel eine Kompilierung als Warnung/Fehler enthält? Ich würde wirklich lieber
print(a.toDouble + b)
println(Math.max(a.toDouble, b))
jedes Mal schreiben, wenn ich solche Umwandlungen benötige.
Sie können auch '-Yno-predef' verwenden, um einige Implicits zu deaktivieren. Allgemeiner, siehe http://tpolecat.github.io/2014/04/11/scala-flags.html – lmm
Vielen Dank an Sie beide. Dieser Artikel auf scalac-flags ist golden <3 – OlivierBlanvillain