Ich muss BigInteger verwenden, kann aber nichts Ähnliches in Kotlin finden.BigInteger in Kotlin
Gibt es eine alternative Klasse in Kotlin zu BigInteger von Java?
oder
sollte ich importieren Java-Klasse in Kotlin?
Ich muss BigInteger verwenden, kann aber nichts Ähnliches in Kotlin finden.BigInteger in Kotlin
Gibt es eine alternative Klasse in Kotlin zu BigInteger von Java?
oder
sollte ich importieren Java-Klasse in Kotlin?
java.math.BigInteger
kann in Kotlin wie jede andere Java verwendet werden Klasse. Es gibt sogar helpers in stdlib, die gemeinsame Operationen einfacher zu lesen und zu schreiben machen. Sie können sogar die Helfer erweitern sich bessere Lesbarkeit zu erreichen:
import java.math.BigInteger
fun Long.toBigInteger() = BigInteger.valueOf(this)
fun Int.toBigInteger() = BigInteger.valueOf(toLong())
val a = BigInteger("1")
val b = 12.toBigInteger()
val c = 2L.toBigInteger()
fun main(argv:Array<String>){
println((a + b)/c) // prints out 6
}
Sie können jede der integrierten Java-Klassen von Kotlin verwenden, und Sie sollten. Sie funktionieren alle genauso wie in Java. Kotlin legt großen Wert darauf, das zu nutzen, was die Java-Plattform zu bieten hat, anstatt sie neu zu implementieren; Zum Beispiel gibt es keine Kotlin-spezifischen Sammlungen, nur einige Schnittstellen über Java-Sammlungen, und die Standardbibliothek verwendet diese Sammlungen ebenfalls.
Also ja, Sie sollten einfach java.math.BigInteger
verwenden. Als Bonus werden Sie tatsächlich in der Lage sein, Anrufe statt Funktion zu verwenden, wenn Sie BigInteger
von Kotlin verwenden: +
statt add
, -
statt subtract
usw.
http://docs.w3cub.com/kotlin/api/latest/jvm/stdlib/kotlin/java.math.-big-integer/ –
Warum benutzt du nicht Long type? – vuhung3990
@ vuhung3990 https://Stackoverflow.com/a/31748073/6156989 –