草庐IT

Kotlin-script

全部标签

kotlin - 为什么对象表达式中的代码可以从 kotlin 中包含它的范围访问变量?

在Kotlin中,对象表达式中的代码可以从包含它的范围内访问变量,就像下面的代码:funcountClicks(window:JComponent){varclickCount=0varenterCount=0window.addMouseListener(object:MouseAdapter(){overridefunmouseClicked(e:MouseEvent){clickCount++}overridefunmouseEntered(e:MouseEvent){enterCount++}})}但是为什么呢?在Java中是不允许这样做的,因为对象的生命周期与局部变量不同,所

kotlin - 为什么对象表达式中的代码可以从 kotlin 中包含它的范围访问变量?

在Kotlin中,对象表达式中的代码可以从包含它的范围内访问变量,就像下面的代码:funcountClicks(window:JComponent){varclickCount=0varenterCount=0window.addMouseListener(object:MouseAdapter(){overridefunmouseClicked(e:MouseEvent){clickCount++}overridefunmouseEntered(e:MouseEvent){enterCount++}})}但是为什么呢?在Java中是不允许这样做的,因为对象的生命周期与局部变量不同,所

kotlin - 如何让 Kotlin 编译器将警告视为错误?

我有一个Kotlin项目,我希望将Kotlin警告视为错误。我该怎么做? 最佳答案 从Kotlin1.2开始,支持命令行参数-Werror。在Gradle中,它被命名为allWarningsAsErrors:compileKotlin{kotlinOptions.allWarningsAsErrors=true} 关于kotlin-如何让Kotlin编译器将警告视为错误?,我们在StackOverflow上找到一个类似的问题: https://stackove

kotlin - 如何让 Kotlin 编译器将警告视为错误?

我有一个Kotlin项目,我希望将Kotlin警告视为错误。我该怎么做? 最佳答案 从Kotlin1.2开始,支持命令行参数-Werror。在Gradle中,它被命名为allWarningsAsErrors:compileKotlin{kotlinOptions.allWarningsAsErrors=true} 关于kotlin-如何让Kotlin编译器将警告视为错误?,我们在StackOverflow上找到一个类似的问题: https://stackove

inheritance - 错误或功能 : Kotlin allows to change 'val' to 'var' in inheritance

我刚刚开始探索Kotlin语言。我正在为继承、var&val和副作用而苦苦挣扎。如果我用valx声明一个特征A并在AImpl中覆盖x,则可以将其覆盖为var(参见下面的代码)。令人惊讶的是,A中的print()方法会受到x重新分配的影响,即使x是A。这是错误还是功能?代码:traitA{funprint(){println("A.x=$x")}valx:Int;}classAImpl(x:Int):A{overridevarx=x;//seemslikexcanbeoverridenas`var`}funmain(args:Array){vala=AImpl(2)a.print()//

inheritance - 错误或功能 : Kotlin allows to change 'val' to 'var' in inheritance

我刚刚开始探索Kotlin语言。我正在为继承、var&val和副作用而苦苦挣扎。如果我用valx声明一个特征A并在AImpl中覆盖x,则可以将其覆盖为var(参见下面的代码)。令人惊讶的是,A中的print()方法会受到x重新分配的影响,即使x是A。这是错误还是功能?代码:traitA{funprint(){println("A.x=$x")}valx:Int;}classAImpl(x:Int):A{overridevarx=x;//seemslikexcanbeoverridenas`var`}funmain(args:Array){vala=AImpl(2)a.print()//

android - 在 Kotlin 构造函数参数中什么情况下需要 val/var?

正确的代码:classMainActHandler(valweakActivity:WeakReference):Handler(){overridefunhandleMessage(msg:Message?){valtrueAct=weakActivity.get()?:returnif(msg?.what==ConversationMgr.MSG_WHAT_NEW_SENTENCE){valsentence=msg.objasString?trueAct.conversation.text=sentence}super.handleMessage(msg)}}无法解析的代码:cla

android - 在 Kotlin 构造函数参数中什么情况下需要 val/var?

正确的代码:classMainActHandler(valweakActivity:WeakReference):Handler(){overridefunhandleMessage(msg:Message?){valtrueAct=weakActivity.get()?:returnif(msg?.what==ConversationMgr.MSG_WHAT_NEW_SENTENCE){valsentence=msg.objasString?trueAct.conversation.text=sentence}super.handleMessage(msg)}}无法解析的代码:cla

bit-manipulation - 按位 & 不适用于 kotlin 中的字节

我正在尝试编写kotlin代码,例如:for(byteb:hash)stringBuilder.append(String.format("%02x",b&0xff));但我与“&”无关。我正在尝试使用“b和0xff”,但它不起作用。按位“和”似乎适用于Int,而不是字节。java.lang.String.format("%02x",(band0xff))可以用1and0xff 最佳答案 Kolin提供类似于位运算符的infixfunctions仅适用于Int和Long。因此需要将字节转换为整数才能执行按位运算:valb:Byte=

bit-manipulation - 按位 & 不适用于 kotlin 中的字节

我正在尝试编写kotlin代码,例如:for(byteb:hash)stringBuilder.append(String.format("%02x",b&0xff));但我与“&”无关。我正在尝试使用“b和0xff”,但它不起作用。按位“和”似乎适用于Int,而不是字节。java.lang.String.format("%02x",(band0xff))可以用1and0xff 最佳答案 Kolin提供类似于位运算符的infixfunctions仅适用于Int和Long。因此需要将字节转换为整数才能执行按位运算:valb:Byte=