草庐IT

Kotlin-script

全部标签

java - Kotlin 方法重载

以下声明在Kotlin中是合法的。funfoo():String="foo_1"funfoo():T="foo_2"asT作为我们得到的字节码:publicfinalstaticfoo()Ljava/lang/String;//signature()TT;//declaration:Tfoo()publicfinalstaticfoo()Ljava/lang/Object;也可以从Kotlin调用这两种方法。当我试图从Java中调用它们时,问题就来了:ClassKt.foo()Ambiguouscall.Bothmethodsmatch...如何避免这样的问题?如何处理这样的方法?如果

Json 到 Kotlin 数据类

有没有一种方法和/或库可以像在ScalaJson.Spray中一样从Json自动创建KotlinData类?类似这样的:dataclassUser(id:Int,name:String)classDataClassFactory(valjson:String){fungetUser():User{//somereflectionreturnUser(10,"Kirill")}}funmain(args:Array):Unit{valjson="{id:10,name:Kirill}"valusr=DataClassFactory(json).getUser()println(usr)}

Json 到 Kotlin 数据类

有没有一种方法和/或库可以像在ScalaJson.Spray中一样从Json自动创建KotlinData类?类似这样的:dataclassUser(id:Int,name:String)classDataClassFactory(valjson:String){fungetUser():User{//somereflectionreturnUser(10,"Kirill")}}funmain(args:Array):Unit{valjson="{id:10,name:Kirill}"valusr=DataClassFactory(json).getUser()println(usr)}

functional-programming - 在 Kotlin 中取最后 n 个元素

我有一个列表,我想在其中应用一些转换,但不包括前2个元素。我怎样才能以最好的方式做到这一点?像这样的:list.reversed().take(list.size-2)...(mytransformations)或list.excludeFirstN(2)...(mytransformations) 最佳答案 您可以使用takeLast(n)喜欢:list.takeLast(3)但要小心,最后一个数字先表示,所以你可能需要使用reversed同样,因此您的代码可能是:list.takeLast(3).reversed()

functional-programming - 在 Kotlin 中取最后 n 个元素

我有一个列表,我想在其中应用一些转换,但不包括前2个元素。我怎样才能以最好的方式做到这一点?像这样的:list.reversed().take(list.size-2)...(mytransformations)或list.excludeFirstN(2)...(mytransformations) 最佳答案 您可以使用takeLast(n)喜欢:list.takeLast(3)但要小心,最后一个数字先表示,所以你可能需要使用reversed同样,因此您的代码可能是:list.takeLast(3).reversed()

split - 如何拆分字符串并在 Kotlin 中拆分部分之间种植分隔符?

假设我有一个字符串“你好!你好吗?美好的一天!”我想拆分它,我的分隔符是:?和!使用“split”函数的结果是:`[Hello,Howdoyoudo,Goodday]`但是,我希望它是:`[Hello,!,Howdoyoudo,?,Goodday,!]` 最佳答案 Java中有一个类似的问题:Howtosplitastring,butalsokeepthedelimiters?使用前瞻。在Kotlin中,代码可能是这样的:funmain(args:Array){valstr="Hello!Howdoyoudo?Goodday!"va

split - 如何拆分字符串并在 Kotlin 中拆分部分之间种植分隔符?

假设我有一个字符串“你好!你好吗?美好的一天!”我想拆分它,我的分隔符是:?和!使用“split”函数的结果是:`[Hello,Howdoyoudo,Goodday]`但是,我希望它是:`[Hello,!,Howdoyoudo,?,Goodday,!]` 最佳答案 Java中有一个类似的问题:Howtosplitastring,butalsokeepthedelimiters?使用前瞻。在Kotlin中,代码可能是这样的:funmain(args:Array){valstr="Hello!Howdoyoudo?Goodday!"va

mockito - <reified T> 和 <reified T : Any> in Kotlin? 有什么不同

下面的测试类,通过。classSimpleClassTest{privateinlinefunanyObject():T{returnMockito.anyObject()}lateinitvarsimpleObject:SimpleClass@MocklateinitvarinjectedObject:InjectedClass@BeforefunsetUp(){MockitoAnnotations.initMocks(this)}@TestfuntestSimpleFunction(){simpleObject=SimpleClass(injectedObject)simpleOb

mockito - <reified T> 和 <reified T : Any> in Kotlin? 有什么不同

下面的测试类,通过。classSimpleClassTest{privateinlinefunanyObject():T{returnMockito.anyObject()}lateinitvarsimpleObject:SimpleClass@MocklateinitvarinjectedObject:InjectedClass@BeforefunsetUp(){MockitoAnnotations.initMocks(this)}@TestfuntestSimpleFunction(){simpleObject=SimpleClass(injectedObject)simpleOb

java - 在 Kotlin 数据类中调用父类(super class)构造函数之前的访问函数

我在Kotlin中使用数据类来显着减少我必须编写的Java代码量。但是,在我的一个Java类中,我不确定如何在Kotlin中实现相同的结果。我的Java类看起来有点像这样:publicclassDataObject{privateintmId;privateStringmName;publicDataObject(intid,Stringname){mId=id;mName=name;}publicDataObject(Contextcontext,intid){mId=id;Cursorcursor=...cursor.moveToFirst();mName=cursor.getSt