草庐IT

Kotlin-script

全部标签

java - Firebase:在 Kotlin/Java 中使用枚举字段的干净方式?

我在firebase上的数据使用了许多具有字符串类型的字段,但实际上是枚举值(我检查了我的验证规则)。要将数据下载到我的Android应用程序中,followingtheguide,该字段必须是基本的String.我知道我可以使用作为枚举的第二个(排除的)字段来解决这个问题,并根据字符串值进行设置。一个简短的例子:classUserData:BaseModel(){valemail:String?=nullvalid:String=""valcreated:Long=0//...morefieldsomittedforclarity@ExcludevarweightUnitEnum:W

java - Firebase:在 Kotlin/Java 中使用枚举字段的干净方式?

我在firebase上的数据使用了许多具有字符串类型的字段,但实际上是枚举值(我检查了我的验证规则)。要将数据下载到我的Android应用程序中,followingtheguide,该字段必须是基本的String.我知道我可以使用作为枚举的第二个(排除的)字段来解决这个问题,并根据字符串值进行设置。一个简短的例子:classUserData:BaseModel(){valemail:String?=nullvalid:String=""valcreated:Long=0//...morefieldsomittedforclarity@ExcludevarweightUnitEnum:W

guice - 在 Kotlin & Guice 中提供一个通用实例

我有一个GuiceModule提供List使用@Provides-带注释的方法。classTestModule():Module{overridefunconfigure(binder:Binder){}@ProvidesfungetStrings():List=listOf("foo","bar")}classTest{@Testfun`providercannotdeliver`(){valinjector=Guice.createInjector(TestModule())injector.getInstance(object:Key>(){})}}但是,测试失败了:1)Noim

guice - 在 Kotlin & Guice 中提供一个通用实例

我有一个GuiceModule提供List使用@Provides-带注释的方法。classTestModule():Module{overridefunconfigure(binder:Binder){}@ProvidesfungetStrings():List=listOf("foo","bar")}classTest{@Testfun`providercannotdeliver`(){valinjector=Guice.createInjector(TestModule())injector.getInstance(object:Key>(){})}}但是,测试失败了:1)Noim

java - 如何从 Java 中获取 Kotlin 属性的注释?

我有一个kotlin类,其属性具有Java注释,但我无法使用Java反射访问这些注释:classTestClass(@AvarmyProperty:String)以下测试打印null:publicclassTestKotlinField{@Retention(RetentionPolicy.RUNTIME)public@interfaceA{}@Testpublicvoidtest()throwsNoSuchFieldException{System.out.println(TestClass.class.getDeclaredField("myProperty").getAnnota

java - 如何从 Java 中获取 Kotlin 属性的注释?

我有一个kotlin类,其属性具有Java注释,但我无法使用Java反射访问这些注释:classTestClass(@AvarmyProperty:String)以下测试打印null:publicclassTestKotlinField{@Retention(RetentionPolicy.RUNTIME)public@interfaceA{}@Testpublicvoidtest()throwsNoSuchFieldException{System.out.println(TestClass.class.getDeclaredField("myProperty").getAnnota

java - 将 GsonBuilder 转换为 Kotlin

有谁知道如何将这段代码转换成kotlinGsonBuilderbuilder=newGsonBuilder();builder.setLenient();builder.registerTypeAdapter(Date.class,newJsonDeserializer(){@OverridepublicDatedeserialize(JsonElementjson,TypetypeOfT,JsonDeserializationContextcontext)throwsJsonParseException{if(json.getAsJsonPrimitive().isNumber())

java - 将 GsonBuilder 转换为 Kotlin

有谁知道如何将这段代码转换成kotlinGsonBuilderbuilder=newGsonBuilder();builder.setLenient();builder.registerTypeAdapter(Date.class,newJsonDeserializer(){@OverridepublicDatedeserialize(JsonElementjson,TypetypeOfT,JsonDeserializationContextcontext)throwsJsonParseException{if(json.getAsJsonPrimitive().isNumber())

unit-testing - Kotlin 中的模拟扩展功能

如何在测试中使用Mockito或PowerMock模拟Kotlin扩展功能?由于它们是静态解析的,应该将它们作为静态方法调用还是非静态进行测试? 最佳答案 我认为MockK可以帮助你。它也支持模拟扩展功能。您可以使用它来模拟对象范围的扩展:dataclassObj(valvalue:Int)classExt{funObj.extensionFunc()=value+5}with(mockk()){every{Obj(5).extensionFunc()}returns11assertEquals(11,Obj(5).extensio

unit-testing - Kotlin 中的模拟扩展功能

如何在测试中使用Mockito或PowerMock模拟Kotlin扩展功能?由于它们是静态解析的,应该将它们作为静态方法调用还是非静态进行测试? 最佳答案 我认为MockK可以帮助你。它也支持模拟扩展功能。您可以使用它来模拟对象范围的扩展:dataclassObj(valvalue:Int)classExt{funObj.extensionFunc()=value+5}with(mockk()){every{Obj(5).extensionFunc()}returns11assertEquals(11,Obj(5).extensio