代码之家  ›  专栏  ›  技术社区  ›  LiuWenbin_NO.

在Kotlin中使用ULong作为函数参数

  •  0
  • LiuWenbin_NO.  · 技术社区  · 2 年前

    我能用吗 ULong 作为Kotlin函数定义中的参数?

    我的代码如下所示:

    import androidx.compose.ui.graphics.Color
    
    fun EColor(value: ULong) = Color(value)
    val Red700 = EColor(0xffdd0d3c)
    

    然后我得到一个错误,看起来像: compiler error

    Conversion of signed constants to unsigned ones is prohibited

    如果我打电话 val Red700 = Color(0xffdd0d3c) ,那么它就可以正常工作了。

    那我怎么会犯这个错误呢?

    1 回复  |  直到 2 年前
        1
  •  2
  •   Sweeper    2 年前

    unsigned literals 在科特林。你可以通过添加 u U 后缀:

    val Red700 = EColor(0xffdd0d3cU)
    

    你也可以打电话 toULong :

    val Red700 = EColor(0xffdd0d3c.toULong())