草庐IT

kotlin-stdlib

全部标签

Kotlin Char compareTo 失败

我在Kotlin中有以下代码片段:valpair:Pair='z'to'z'valcomparison=pair.first.compareTo(pair.second)println(comparison)当我尝试运行它时,它在第二行失败并出现以下异常:java.lang.ClassCastException:java.lang.Charactercannotbecasttojava.lang.NumberIDE(IntelliJ)不会提示任何错误的类型。这个问题在某种程度上与Chars来自Pair的事实有关。因为'z'.compareTo('z')工作正常。你知道Kotlin是如何

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

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()然后我失