草庐IT

Kotlin-script

全部标签

reflection - kotlin 反射检查可空类型

如何测试KType变量是否包含可空kotlin类型的值(例如Int?)?我有vartype:KType变量来自KProperty.returnType我需要检测它是否等于某些kotlin类型(Int、Long等)。这适用于:when(type){Int::class.defaultType->...Long::class.defaultType->...else->...}但这仅适用于不可为空的类型,所以第一个分支与Int不匹配?但是我还无法弄清楚如何检测类型是Int?除了明显但不是很好type.toString().equals("kotlin.Int?")

reflection - kotlin 反射检查可空类型

如何测试KType变量是否包含可空kotlin类型的值(例如Int?)?我有vartype:KType变量来自KProperty.returnType我需要检测它是否等于某些kotlin类型(Int、Long等)。这适用于:when(type){Int::class.defaultType->...Long::class.defaultType->...else->...}但这仅适用于不可为空的类型,所以第一个分支与Int不匹配?但是我还无法弄清楚如何检测类型是Int?除了明显但不是很好type.toString().equals("kotlin.Int?")

kotlin - 如何在 Kotlin 中指定鸭子类型(隐式接口(interface))泛型?

例如//NotvalidKotlincode.funmyFunction...T:Summable表示任何类型的T都支持+运算符,即定义了.plus方法。 最佳答案 Kotlin中没有这样的功能,目前没有计划在未来发布。 关于kotlin-如何在Kotlin中指定鸭子类型(隐式接口(interface))泛型?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/39251860/

kotlin - 如何在 Kotlin 中指定鸭子类型(隐式接口(interface))泛型?

例如//NotvalidKotlincode.funmyFunction...T:Summable表示任何类型的T都支持+运算符,即定义了.plus方法。 最佳答案 Kotlin中没有这样的功能,目前没有计划在未来发布。 关于kotlin-如何在Kotlin中指定鸭子类型(隐式接口(interface))泛型?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/39251860/

java - Kotlin 委托(delegate)给 future

我正在努力学习Kotlin,而代表既有趣又令人困惑。我有一种情况,在java类中,我将采用构造函数arg,创建Future(ID表示另一个系统中的资源)并将Future作为实例变量存储。然后“getXXX”会调用Future.get()这是一个示例java类publicclassExample{privateFuturefoo;publicExample(StringfooId){this.foo=supplyAsync(()->httpClient.get(fooId));}publicFoogetFoo(){returnfoo.get();}}我没有提供Kotlin示例,因为我根本

java - Kotlin 委托(delegate)给 future

我正在努力学习Kotlin,而代表既有趣又令人困惑。我有一种情况,在java类中,我将采用构造函数arg,创建Future(ID表示另一个系统中的资源)并将Future作为实例变量存储。然后“getXXX”会调用Future.get()这是一个示例java类publicclassExample{privateFuturefoo;publicExample(StringfooId){this.foo=supplyAsync(()->httpClient.get(fooId));}publicFoogetFoo(){returnfoo.get();}}我没有提供Kotlin示例,因为我根本

android-studio - Kotlin 文件的 IntelliJ 和 Android Studio 图标

我一直在尝试了解IntelliJ(和AndroidStudio)对我的Kotlin文件图标所做的事情。在图片中,您可以看到Kotlin文件带有两个不同的图标-一个带有小“K”的矩形,或者一个带有小“K”的圆圈C(图中红色圆圈)。矩形版本还包括一个有用的“.kt”后缀。在对这个问题的黑框进行了一些修补之后-如果kotlin文件just声明了一个与文件名匹配的类,那么它会得到一个“带圆圈的C”图标。但是,如果它做了任何与Java不同的事情——比如在类之外声明一个变量(例如valfoo=42)——那么图标就会移动到带有“K”的矩形。图标文档here表明IntelliJ认为带有“K”的矩形是“

android-studio - Kotlin 文件的 IntelliJ 和 Android Studio 图标

我一直在尝试了解IntelliJ(和AndroidStudio)对我的Kotlin文件图标所做的事情。在图片中,您可以看到Kotlin文件带有两个不同的图标-一个带有小“K”的矩形,或者一个带有小“K”的圆圈C(图中红色圆圈)。矩形版本还包括一个有用的“.kt”后缀。在对这个问题的黑框进行了一些修补之后-如果kotlin文件just声明了一个与文件名匹配的类,那么它会得到一个“带圆圈的C”图标。但是,如果它做了任何与Java不同的事情——比如在类之外声明一个变量(例如valfoo=42)——那么图标就会移动到带有“K”的矩形。图标文档here表明IntelliJ认为带有“K”的矩形是“

Android - Kotlin - 对象必须声明为抽象或实现抽象成员

我已经为我的RecyclerView设置了一个ItemClickLister,如下所示:ItemClickSupport.addTo(recyclerView!!).setOnItemClickListener(object:ItemClickSupport.OnItemClickListener{overridefunonItemClicked(recyclerView:RecyclerView?,position:Int,v:View?){valrow=recyclerView!!.getChildAt(position)valel=row.findViewById(R.id.ac

Android - Kotlin - 对象必须声明为抽象或实现抽象成员

我已经为我的RecyclerView设置了一个ItemClickLister,如下所示:ItemClickSupport.addTo(recyclerView!!).setOnItemClickListener(object:ItemClickSupport.OnItemClickListener{overridefunonItemClicked(recyclerView:RecyclerView?,position:Int,v:View?){valrow=recyclerView!!.getChildAt(position)valel=row.findViewById(R.id.ac