草庐IT

Kotlin-script

全部标签

intellij-idea - 我如何知道 Kotlin 中的推断类型?

(我使用Kotlin1.1.2-2)例如,我如何知道表达式if(boolean_value)1else2.0的推断类型?kotlinc-jvm不显示类型。javaClass也无济于事,因为它显示的是计算值的类型而不是表达式。>>>(if(true)1else2.0).javaClass.namejava.lang.Integer>>>(if(false)1else2.0).javaClass.namejava.lang.Double>>>valv:Double=if(false)1else2.0error:theintegerliteraldoesnotconformtotheexpe

intellij-idea - 我如何知道 Kotlin 中的推断类型?

(我使用Kotlin1.1.2-2)例如,我如何知道表达式if(boolean_value)1else2.0的推断类型?kotlinc-jvm不显示类型。javaClass也无济于事,因为它显示的是计算值的类型而不是表达式。>>>(if(true)1else2.0).javaClass.namejava.lang.Integer>>>(if(false)1else2.0).javaClass.namejava.lang.Double>>>valv:Double=if(false)1else2.0error:theintegerliteraldoesnotconformtotheexpe

uml - 生成 Kotlin 类图

我正在寻找一种工具、IntellijIdea插件或任何能够从Kotlin源文件生成UML类图的工具。IntellijIdea15的“显示图表...”工具仅适用于.java文件。Google没有提供帮助,但我仍然希望有机会为此找到工具。 最佳答案 实际上它可以工作但有限制:您只能单击项目树中的一个包,然后单击“显示图表...”。它还从Java的角度生成图表(显示Java的签名和外观类) 关于uml-生成Kotlin类图,我们在StackOverflow上找到一个类似的问题:

uml - 生成 Kotlin 类图

我正在寻找一种工具、IntellijIdea插件或任何能够从Kotlin源文件生成UML类图的工具。IntellijIdea15的“显示图表...”工具仅适用于.java文件。Google没有提供帮助,但我仍然希望有机会为此找到工具。 最佳答案 实际上它可以工作但有限制:您只能单击项目树中的一个包,然后单击“显示图表...”。它还从Java的角度生成图表(显示Java的签名和外观类) 关于uml-生成Kotlin类图,我们在StackOverflow上找到一个类似的问题:

lambda - Kotlin:内联 lambda 和重载解析歧义

我有一个简单的工厂模式,其实现是通过重载决议确定的。问题是Kotlin编译器提示内联lambda的“重载解析歧义..”。classFoo(){companionobjectFactory{funcreate(x:Int,f:(Int)->Double)=2.0funcreate(x:Int,f:(Int)->Int)=1}}funmain(args:Array){vala=Foo.create(1,::fromDouble)//OKvalb=Foo.create(1,::fromInt)//OKvalambiguous=Foo.create(1){i->1.0}//Overloadre

lambda - Kotlin:内联 lambda 和重载解析歧义

我有一个简单的工厂模式,其实现是通过重载决议确定的。问题是Kotlin编译器提示内联lambda的“重载解析歧义..”。classFoo(){companionobjectFactory{funcreate(x:Int,f:(Int)->Double)=2.0funcreate(x:Int,f:(Int)->Int)=1}}funmain(args:Array){vala=Foo.create(1,::fromDouble)//OKvalb=Foo.create(1,::fromInt)//OKvalambiguous=Foo.create(1){i->1.0}//Overloadre

Android Studio 和 Kotlin : Unresolved reference: also

also从AndroidStudio编译和运行:valgreeted="World".also{println("Hello$it")}然而,编辑器将also和it突出显示为错误,并且不提供任何有关智能感知的帮助。apply仍然有效,当我查看源代码时,我可以看到apply和also的定义。如何让AndroidStudio识别also?AndroidStudio2.3.3kotlin_version='1.1.3-2'Kotlin插件1.1.3-release-Studio2.3-2早期版本我也遇到过这个问题。 最佳答案 我尝试了所有

Android Studio 和 Kotlin : Unresolved reference: also

also从AndroidStudio编译和运行:valgreeted="World".also{println("Hello$it")}然而,编辑器将also和it突出显示为错误,并且不提供任何有关智能感知的帮助。apply仍然有效,当我查看源代码时,我可以看到apply和also的定义。如何让AndroidStudio识别also?AndroidStudio2.3.3kotlin_version='1.1.3-2'Kotlin插件1.1.3-release-Studio2.3-2早期版本我也遇到过这个问题。 最佳答案 我尝试了所有

kotlin - 为什么在 kotlin 中只能委托(delegate)接口(interface)?

我很少看到类似的问题,但没有人解释为什么委托(delegate)仅限于接口(interface)?在实践中,大多数时候我们有一些实际上根本没有接口(interface)的东西,它是一个什么都不实现但提供一些功能或实现一个抽象类的类。是否有任何基本限制迫使其仅限于接口(interface),或者我们可以期望kotlin在未来拥有不受限制的委托(delegate)?如果我们想使用组合而不是继承来扩展类的功能,这尤其有用。classA{}classB(vala:A):Abya{} 最佳答案 当您委托(delegate)一个接口(inter

kotlin - 为什么在 kotlin 中只能委托(delegate)接口(interface)?

我很少看到类似的问题,但没有人解释为什么委托(delegate)仅限于接口(interface)?在实践中,大多数时候我们有一些实际上根本没有接口(interface)的东西,它是一个什么都不实现但提供一些功能或实现一个抽象类的类。是否有任何基本限制迫使其仅限于接口(interface),或者我们可以期望kotlin在未来拥有不受限制的委托(delegate)?如果我们想使用组合而不是继承来扩展类的功能,这尤其有用。classA{}classB(vala:A):Abya{} 最佳答案 当您委托(delegate)一个接口(inter