草庐IT

Kotlin-script

全部标签

Kotlin:乐趣与值(value)

Kotlin支持计算属性,但我不确定何时使用它们。假设我有一个类:classCar(valcolor:String)如果汽车是白色的,则具有返回true的函数:funisWhite(car:Car):Boolean{returncar.color=="WHITE"}现在我希望这个函数成为一个成员函数(一个方法);这看起来像这样:classCar(valcolor:String){funisWhite():Boolean=color=="WHITE"}但它也可以是这样的:classCar(valcolor:String){valisWhite:Booleanget()=color=="W

android - 无法从 java 模块调用 kotlin 模块

我想在java中有一个android应用程序,但在kotlin中有一个库模块。但是,当我尝试在手机中运行该应用程序时,出现一个错误,提示它找不到我的Kotlin类。这是我的kotlin类(class):packagecom.example.mylibraryimportandroid.util.LogclassA{funhelloWorld(){Log.d("Kotlin","HelloWorld!")}}我的kotlin模块的gradle文件:applyplugin:'com.android.library'android{compileSdkVersion23buildToolsV

android - 无法从 java 模块调用 kotlin 模块

我想在java中有一个android应用程序,但在kotlin中有一个库模块。但是,当我尝试在手机中运行该应用程序时,出现一个错误,提示它找不到我的Kotlin类。这是我的kotlin类(class):packagecom.example.mylibraryimportandroid.util.LogclassA{funhelloWorld(){Log.d("Kotlin","HelloWorld!")}}我的kotlin模块的gradle文件:applyplugin:'com.android.library'android{compileSdkVersion23buildToolsV

android - 如何解决 : "error: cannot find symbol class ..." after converting Java class to Kotlin?

我正在尝试从Kotlin开始,将我项目的一些Java类转换为Kotlin,并创建一个混合的Java/Kotlin项目。为了配置环境,我做了以下操作:已下载最新版Kotlin插件(1.0.2);在顶层gradle.plugin我添加了:classpath"org.jetbrains.kotlin:kotlin-android-extensions:1.0.2"在依赖项部分;在我的模块的gradle插件中,我在依赖项部分添加了:compile"org.jetbrains.kotlin:kotlin-stdlib:1.0.2";我选择了我想转换为kotlin的POJO类,从菜单Code->C

android - 如何解决 : "error: cannot find symbol class ..." after converting Java class to Kotlin?

我正在尝试从Kotlin开始,将我项目的一些Java类转换为Kotlin,并创建一个混合的Java/Kotlin项目。为了配置环境,我做了以下操作:已下载最新版Kotlin插件(1.0.2);在顶层gradle.plugin我添加了:classpath"org.jetbrains.kotlin:kotlin-android-extensions:1.0.2"在依赖项部分;在我的模块的gradle插件中,我在依赖项部分添加了:compile"org.jetbrains.kotlin:kotlin-stdlib:1.0.2";我选择了我想转换为kotlin的POJO类,从菜单Code->C

json - 在 Kotlin 中, jackson 反序列化错误与数据类

不太确定如何最好地解释这个问题,所以我编写了与java和kotlin相同的代码以更好地演示。当我阅读JSON时,它似乎强制数据bean值为NULL,即使该参数甚至不是json的一部分,并且数据bean默认缺少字段的值。在java中,它可以正常工作,永远不会试图取消从未提供过的值。在Kotlin中,它似乎会中断,因为它试图使不可为空的字段无效。在Kotlin中dataclassPojo(valname:String,valage:Int,vallist:List=emptyList(),valts:Date=Date())privatevalmapper:ObjectMapper=Obj

json - 在 Kotlin 中, jackson 反序列化错误与数据类

不太确定如何最好地解释这个问题,所以我编写了与java和kotlin相同的代码以更好地演示。当我阅读JSON时,它似乎强制数据bean值为NULL,即使该参数甚至不是json的一部分,并且数据bean默认缺少字段的值。在java中,它可以正常工作,永远不会试图取消从未提供过的值。在Kotlin中,它似乎会中断,因为它试图使不可为空的字段无效。在Kotlin中dataclassPojo(valname:String,valage:Int,vallist:List=emptyList(),valts:Date=Date())privatevalmapper:ObjectMapper=Obj

kotlin - 来自类型参数的属性的自定义 getter

我有一个有点像这样的Java文件:publicclassThing{privateStringproperty;publicThing(Stringproperty){this.property=property;}publicStringgetProperty(){if(property==null){return"blahblahblah";}else{returnproperty;}}}显然我的实际类(class)还有更多内容,但以上只是一个示例。我想用Kotlin写这个,所以我从这个开始:classThing(valproperty:String?)然后我尝试使用theoffi

kotlin - 来自类型参数的属性的自定义 getter

我有一个有点像这样的Java文件:publicclassThing{privateStringproperty;publicThing(Stringproperty){this.property=property;}publicStringgetProperty(){if(property==null){return"blahblahblah";}else{returnproperty;}}}显然我的实际类(class)还有更多内容,但以上只是一个示例。我想用Kotlin写这个,所以我从这个开始:classThing(valproperty:String?)然后我尝试使用theoffi

Kotlin 反射不可用

我试图从video的第一个示例中学习高阶函数.这是我的代码和输出。代码funlowercase(value:String)=value.toLowerCase()funhigherOrder(value:String,op:(String)->String):String{println("Executinghigherorderfun$op")returnop(value)}funmain(args:Array){println(higherOrder("HELLO",::lowercase))println(higherOrder("hello",{it->lowercase(it