草庐IT

Kotlin-script

全部标签

android - 如果作为 RxJava Observable 提供,Kotlin 密封类子类需要强制转换为基类

我试图在我用Kotlin编写的应用程序中避免RxJava链的终端状态,所以我发现转换Observable是正确的事情至Observable>在哪里Result是密封类。sealedclassResultdataclassSuccess(valdata:T):Result()dataclassFailure(valthrowable:Throwable):Result()假设我可以观察到这个网络请求。fungetOrganization():Observable>{returnapi.getOrganization("google").map{Success(true)}.onError

generics - 如何在 kotlin 中使用泛型编写 lambda?

我可以编写具有显式类型的lambdasid_Int和id_Boolean。我可以用类型参数编写函数identity。我可以写带有类型参数的lambdas吗?funtestFuncInt(f:(Int)->Int):Int=f(1)+2valid_Int={x:Int->x}funtestFuncBoolean(f:(Boolean)->Boolean):Boolean=!f(false)valid_Boolean={x:Boolean->x}funidentity(x:T)=xfunmain(args:Array){println(testFuncInt(id_Int))println

generics - 如何在 kotlin 中使用泛型编写 lambda?

我可以编写具有显式类型的lambdasid_Int和id_Boolean。我可以用类型参数编写函数identity。我可以写带有类型参数的lambdas吗?funtestFuncInt(f:(Int)->Int):Int=f(1)+2valid_Int={x:Int->x}funtestFuncBoolean(f:(Boolean)->Boolean):Boolean=!f(false)valid_Boolean={x:Boolean->x}funidentity(x:T)=xfunmain(args:Array){println(testFuncInt(id_Int))println

kotlin - Kotlin 中的前置条件函数 - 良好实践

作为一名Kotlin编码新手,我想知道是否有一些好的做法甚至语言结构可以在函数中声明前置条件。在Java中,我一直在使用Guava的前提条件检查实用程序:https://github.com/google/guava/wiki/PreconditionsExplained经过进一步调查,我发现了require函数:https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/require.html这是通常用于检查函数先决条件的方法吗? 最佳答案 当然。您可以在Preconditions.k

kotlin - Kotlin 中的前置条件函数 - 良好实践

作为一名Kotlin编码新手,我想知道是否有一些好的做法甚至语言结构可以在函数中声明前置条件。在Java中,我一直在使用Guava的前提条件检查实用程序:https://github.com/google/guava/wiki/PreconditionsExplained经过进一步调查,我发现了require函数:https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/require.html这是通常用于检查函数先决条件的方法吗? 最佳答案 当然。您可以在Preconditions.k

Android Kotlin 创建类实现 Parcelable 在 writeToParcel 方法的 'override' 中报错

为了使用Parcelable,我遵循了Kotlin1.1.4的这个版本:https://blog.jetbrains.com/kotlin/2017/08/kotlin-1-1-4-is-out/在项目中添加这一行androidExtensions{experimental=true}然后定义一个类:@ParcelizeclassUser(valfirstName:String,vallastName:String):ParcelablewriteToParcel()和createFromParcel()方法是自动创建的overridefunwriteToParcel(parcel:P

Android Kotlin 创建类实现 Parcelable 在 writeToParcel 方法的 'override' 中报错

为了使用Parcelable,我遵循了Kotlin1.1.4的这个版本:https://blog.jetbrains.com/kotlin/2017/08/kotlin-1-1-4-is-out/在项目中添加这一行androidExtensions{experimental=true}然后定义一个类:@ParcelizeclassUser(valfirstName:String,vallastName:String):ParcelablewriteToParcel()和createFromParcel()方法是自动创建的overridefunwriteToParcel(parcel:P

kotlin - 在 Kotlin 中,如何声明一个构造函数参数为零的数据类?

假设我想为整数列表声明一个简单的代数数据类型:sealedclassIntListdataclassCons(valhead:Int,valtail:IntList):IntList()dataclassNil():IntList()但是,最后的声明导致错误Dataclassmusthaveatleastoneprimaryconstructorparameter为什么会出现这种限制?查看文档,似乎没有很好的技术理由要求数据类构造函数是非空的。是否可以在不必编写大量样板代码的情况下表达空构造函数?如果我将最后一个声明更改为类似sealedclassNil():IntList()然后我失

kotlin - 在 Kotlin 中,如何声明一个构造函数参数为零的数据类?

假设我想为整数列表声明一个简单的代数数据类型:sealedclassIntListdataclassCons(valhead:Int,valtail:IntList):IntList()dataclassNil():IntList()但是,最后的声明导致错误Dataclassmusthaveatleastoneprimaryconstructorparameter为什么会出现这种限制?查看文档,似乎没有很好的技术理由要求数据类构造函数是非空的。是否可以在不必编写大量样板代码的情况下表达空构造函数?如果我将最后一个声明更改为类似sealedclassNil():IntList()然后我失

android - 界面上的 Kotlin 扩展

假设我有一个interfaceBase并且我们在classBase1:Base中实现该接口(interface)。我希望表单中有一个扩展函数funArrayList.myFun()也适用于arrayListOf(Base1(),Base1()).myFun(),但它没有。它要求列表的类型为Base而不是Base1。这真的很奇怪吗?还是我只是错过了什么?而且,我有哪些选项可以编写一个可用于接口(interface)的所有子类的函数?谢谢! 最佳答案 你需要允许扩展函数接受子实现interfaceBaseclassBase1:Basef