草庐IT

companion

全部标签

junit4 - 在 Kotlin 中使用 @ClassRule

在JUnit中,您可以使用@ClassRule来注释静态字段。我如何在Kotlin中做到这一点?我试过了:objectcompanion{@ClassRule@JvmStaticvalmanagedMongoDb=...}andobjectcompanion{@ClassRule@JvmFieldvalmanagedMongoDb=...}但最后一个都不起作用,因为没有执行规则。我仔细检查了完全相同的规则在没有静态上下文的情况下可以正常工作:@Rule@JvmFieldvalmanagedMongoDb=... 最佳答案 您没有使用

junit4 - 在 Kotlin 中使用 @ClassRule

在JUnit中,您可以使用@ClassRule来注释静态字段。我如何在Kotlin中做到这一点?我试过了:objectcompanion{@ClassRule@JvmStaticvalmanagedMongoDb=...}andobjectcompanion{@ClassRule@JvmFieldvalmanagedMongoDb=...}但最后一个都不起作用,因为没有执行规则。我仔细检查了完全相同的规则在没有静态上下文的情况下可以正常工作:@Rule@JvmFieldvalmanagedMongoDb=... 最佳答案 您没有使用

kotlin - 为什么我们使用 "companion object"作为 Kotlin 中 Java 静态字段的一种替代?

“伴侣对象”的本意是什么?到目前为止,我一直在使用它来在需要时替换Java的static。我很困惑:为什么叫“伴”?是否意味着要创建多个static属性,我必须在companionobjectblock中将其组合在一起?为了立即创建一个作用域为类的单例实例,我经常这样写:companionobject{valsingletonbylazy{...}}这似乎是一种单调的做法。有什么更好的方法? 最佳答案 Whatistheintendedmeaningof"companionobject"?Whyisitcalled"companio

kotlin - 为什么我们使用 "companion object"作为 Kotlin 中 Java 静态字段的一种替代?

“伴侣对象”的本意是什么?到目前为止,我一直在使用它来在需要时替换Java的static。我很困惑:为什么叫“伴”?是否意味着要创建多个static属性,我必须在companionobjectblock中将其组合在一起?为了立即创建一个作用域为类的单例实例,我经常这样写:companionobject{valsingletonbylazy{...}}这似乎是一种单调的做法。有什么更好的方法? 最佳答案 Whatistheintendedmeaningof"companionobject"?Whyisitcalled"companio

java - Kotlin 中的 Java 静态方法等价物是什么?

Kotlin中没有static关键字。在Kotlin中表示staticJava方法的最佳方式是什么? 最佳答案 你把函数放在“伴生对象”中。所以java代码是这样的:classFoo{publicstaticinta(){return1;}}会变成classFoo{companionobject{funa():Int=1}}然后你可以在Kotlin代码中使用它Foo.a();但在Java代码中,您需要将其称为Foo.Companion.a();(这也适用于Kotlin。)如果您不喜欢指定Companion位,您可以添加@JvmSta

java - Kotlin 中的 Java 静态方法等价物是什么?

Kotlin中没有static关键字。在Kotlin中表示staticJava方法的最佳方式是什么? 最佳答案 你把函数放在“伴生对象”中。所以java代码是这样的:classFoo{publicstaticinta(){return1;}}会变成classFoo{companionobject{funa():Int=1}}然后你可以在Kotlin代码中使用它Foo.a();但在Java代码中,您需要将其称为Foo.Companion.a();(这也适用于Kotlin。)如果您不喜欢指定Companion位,您可以添加@JvmSta
12