相关疑难解决方法(0)

为什么我们使用"伴侣对象"作为Kotlin中Java静态字段的替代?

"伴侣对象"的意图是什么?到目前为止,我一直在使用它只是为了static在需要时替换Java .

我很困惑:

  • 为什么称它为"伴侣"?
  • 这是否意味着要创建多个静态属性,我必须在companion object块内组合它?
  • 为了立即创建一个作用于类的单例实例,我经常写

:

companion object {
    val singleton by lazy { ... }
}
Run Code Online (Sandbox Code Playgroud)

这似乎是一种单一的方式.有什么更好的方法?

kotlin kotlin-companion

141
推荐指数
4
解决办法
3万
查看次数

Kotlin中Java静态最终字段的等价物是什么?

在Java中,要声明常量,您可以执行以下操作:

class Hello  {
 public static final int MAX_LEN = 20;
}
Run Code Online (Sandbox Code Playgroud)

Kotlin的等价物是什么?

java kotlin

103
推荐指数
3
解决办法
4万
查看次数

Kotlin中的静态数据

请告诉我,这个例子中是否存在任何差异(就Java而言):

  1. object DefaultValues {
        val FILES_TO_DOWNLOAD = 100
    }
    
    Run Code Online (Sandbox Code Playgroud)

    class DefaultValues {
        companion object {
            val FILES_TO_DOWNLOAD = 100
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 没有类或对象包装器:

    const val DEFAULT_FILES_TO_DOWNLOAD = 100
    
    Run Code Online (Sandbox Code Playgroud)

    val DEFAULT_FILES_TO_DOWNLOAD = 100
    
    Run Code Online (Sandbox Code Playgroud)

定义的真正方法是什么?:

public static final int FILES_TO_DOWNLOAD = 100
Run Code Online (Sandbox Code Playgroud)

kotlin

27
推荐指数
1
解决办法
1万
查看次数

标签 统计

kotlin ×3

java ×1

kotlin-companion ×1