Potrzebuję skorzystać z BigInteger, ale nie mogę znaleźć niczego podobnego w kotlinach.BigInteger w Kotlin
Czy istnieje inna klasa w kotlince do BigInteger java?
lub
należy zaimportować klasę java w Kotlin?
Potrzebuję skorzystać z BigInteger, ale nie mogę znaleźć niczego podobnego w kotlinach.BigInteger w Kotlin
Czy istnieje inna klasa w kotlince do BigInteger java?
lub
należy zaimportować klasę java w Kotlin?
java.math.BigInteger
może być stosowany w Kotlin, jak każdy inny Java klasa. Istnieje nawet helpers in stdlib, które ułatwiają czytanie i zapis zwykłych operacji. Można nawet przedłużyć sobie pomocników w celu osiągnięcia większej czytelności:
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
}
Możesz używać dowolnej z wbudowanych klas Java z Kotlin i powinieneś. Wszystkie będą działały dokładnie tak samo, jak w Javie. Kotlin stawia sobie za cel wykorzystanie oferty platformy Java zamiast ponownego jej wdrażania; na przykład nie ma żadnych konkretnych kolekcji Kotlin, tylko niektóre interfejsy w górnej części kolekcji Java, a biblioteka standardowa również korzysta z tych kolekcji.
Tak, powinieneś po prostu użyć java.math.BigInteger
. Jako bonus, można rzeczywiście być w stanie po użyciu BigInteger
z Kotlin używać operatorów zamiast wywołania funkcji: +
zamiast add
, -
zamiast subtract
itp
http://docs.w3cub.com/kotlin/api/latest/jvm/stdlib/kotlin/java.math.-big-integer/ –
dlaczego nie używasz typu Long? – vuhung3990
@ vuhung3990 https://stackoverflow.com/a/31748073/6156989 –