问题标签 [kotlin-companion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kotlin - 为什么我们使用“伴侣对象”作为 Kotlin 中 Java 静态字段的一种替代?
“伴侣对象”的本意是什么?到目前为止,我一直在使用它来static
在需要时替换 Java。
我很困惑:
- 为什么叫“伴侣”?
- 这是否意味着要创建多个静态属性,我必须在块内将它们组合在一起
companion object
? - 为了立即创建一个作用域为类的单例实例,我经常写
:
这似乎是一种单一的方式。有什么更好的方法?
kotlin - 在 kotlin 中命名伴生对象有什么意义
伴随对象的文档具有以下示例
这Factory
是伴随对象的名称。然后它继续说:
伴生对象的名称可以省略,在这种情况下
Companion
将使用名称:
但是,我没有看到使用伴随对象名称的示例。
由于每个类只能有一个伴生对象(否则会Only one companion object is allowed per class
出错),所以这个名字对我来说就像是一些非常无用的语法糖。
伴生对象的名称实际上可以用来做什么?为什么要费心为它使用任何名称?
scala - 伴随对象实现接口的可能性的好处
为什么在 Kotlin/Scala 中伴随对象可以实现一些接口,这有什么好处?什么时候使用此功能有用?
android - 如何在伴生对象中保留单例类对象的引用,Kotlin
我要转换的代码如下;
这是什么android studio生成的代码;
这段代码给了我错误,即;
属性必须被初始化或者是抽象的
我正在使用 libgdx 开发游戏,因此我将使用这种方法从我想要的任何地方使用 Game 对象。这是一个单例类,所以它不会泄漏任何内存。
android - Kotlin static constant field returning modified String value
I'm trying to reach a constant String value of the Class name. But I really don't understand why I get a modified String value. Here is the code that I'm working on:
In another class trying to reach the value like this:
Why Am I getting packagePath.TestClass$Companion
at the end of the String value? I'm expecting to get packagePath.TestClass
Thanks
static - 如何从 kotlin 中的伴随对象访问外部类的 javaClass.simpleName?
我希望能够从它的伴随对象访问我的类的 simpleName。
我想要这个:
打印以下输出:
实际用例在java中是这样的:
我尝试了两件事:
将 Outer 的 simpleName 分配给伴随对象的 COMPANION_TAG,然后从伴随对象的 init 和 Outer 的所有函数中使用 COMPANION_TAG。我可以从我需要的任何地方访问 COMPANION_TAG,但不幸的是,我只能通过这种方式获得“Companion”而不是“Outer”。
从伴随对象的 init 访问 Outer.OUTER_TAG。这里的问题是我找不到访问它的方法。
这是代码:
java - 为什么以及何时将 @JvmStatic 与伴随对象一起使用?
我试图了解使用/不使用@JvmStatic 以及何时应该使用其中任何一个之间的区别。
因此,使用 Kotlin 和 Java,我可以这样做:
TestKotlin.kt
然后由 Java 调用,如下所示:
TestJava.java
但是,有这个选项2:
TestKotlin.kt
v2
然后,从 Java 中调用它,如下所示:
TestJava.java
v2
所以我的问题是:
- 这两种情况在行为或内存分配方面有什么不同吗?
- 对使用哪一个有偏好吗?
- 是否都创建一个伪静态单例对象,就像 Java 静态一样?
谢谢!
android - 在配套对象 Kotlin 中初始化 ImageView
我正在尝试在伴随对象中初始化 ImageView,因为我希望方法是静态的,但是我有一个错误,下面有另一种方法是我的代码
我无法初始化 bufferingIndicator 是否有任何替代方法?
kotlin - Kotlin 在主类中从伴随对象设置变量和调用方法
我是 Kotlin 的新手,我不明白是否/如何调用函数或从伴随对象设置变量:
我得到 unresolvedReference onmyVar = true
和myFunc(1)
。
java - 伴随对象中的实例
我无法继续访问 var mBleWrapper: BleWrapper?= null 在其他活动中。有一个名为 BleWrapperUiCallbacks 的预定义 Java 接口,我怀疑它包含我需要的功能和 Java-Class BleWrapper。
我尝试了 Kotlin 伴生对象,它替代了 Java 单例,但我必须将初始化的 BleWrapper 设置为伴生对象,这实际上是不可能的,因为 BleWrapper 是如此实例化:
而这个“this”指的是当前的活动。这就是Java中关于Singleton的解决方案?!如果没有这个实例化,BleWrapper 当然总是空的。在空洞时间与 ble 设备的连接。这是 logcat: BluetoothGatt: readRssi() 我需要调用的服务也显示在 logcat 中......
有人能帮我吗?我有点绝望。我还发现了这个:在 Kotlin 中的两个活动之间传递一个对象实例