私は最近、符号なし整数が本当に役立つ状況に出くわしました(たとえば、負の値は意味をなさないなど)。驚いたことに、Kotlinが符号なし整数をサポートしていないことを発見しました-そして、その理由については他に何もありません(私が調べたとしても)。
何か不足していますか?
glidor が正しく言及されているように、Byte
、Short
、Int
、およびLong
の符号なしの対応物は、Kotlin 1.3しかし、それらはまだなので注意してください experimental :
docs から:
kotlin.UByte
:0〜255の範囲の符号なし8ビット整数kotlin.UShort
:符号なし16ビット整数、範囲は0〜65535kotlin.UInt
:符号なし32ビット整数、範囲は0〜2 ^ 32-1kotlin.ULong
:符号なし64ビット整数、範囲は0〜2 ^ 64-1
使用法
// You can define unsigned types using literal suffixes
val uint = 42u
// You can convert signed types to unsigned and vice versa via stdlib extensions:
val int = uint.toInt()
val uint = int.toUInt()
Kotlin 1.3からは、インラインクラス機能に基づいた無署名のタイプが利用可能です。
1.3-M1リリースの「符号なし整数型」セクションを参照してください: https://blog.jetbrains.com/kotlin/2018/07/see-whats-coming-in-kotlin-1-3-m1/