草庐IT

kotlin-experimental

全部标签

Kotlin:如何在字符串中交换字符

我想将字符串从“abcde”交换为“bcdea”。所以我在Kotlin中编写了如下代码varprevResult="abcde"vartmp=prevResult[0]for(iin0..prevResult.length-2){prevResult[i]=prevResult[i+1]//ErroronpreveResult[i]}prevResult[prevResult.length-1]=tmp//ErroronpreveResult[prevResult.lengt-1]如上述注释行所述,它会出错。我做错了什么?我怎样才能解决这个问题并得到我想要的?

android - Kotlin 类的调用方法

我有一个utilKotlin类,我在其中设置工具栏标题、隐藏或显示工具栏取决于fragment:classMyToolbarUtils(){funhideToolbar(activity:Activity){(activityasMainActivity).supportActionBar!!.hide()}funshowToolbar(activity:Activity,tag:String){setToolbarTitle(tag,activity)(activityasMainActivity).supportActionBar!!.show()}funsetToolbarTit

kotlin - 当setter有返回值时,如何使用像obj.value = ""这样的setter?

我有一个androidEditText,我正在设置text属性。通常我会使用:editText.text="Mars"但是setter返回了一个Editable,所以Kotlin似乎试图用一个失败的String替换返回的Editable。所以“解决方法”是:editText.setText("Mars")当使用这种类型的setter时,有没有更漂亮的方法(而不是setText())来设置文本? 最佳答案 在Kotlin中,赋值不是表达式。赋值表达式的实际用例很少,而且往往会降低代码的可读性,更不用说if(a=b)错误,因此它们被排除

android - 指定为非空的参数为空 : method kotlin. jvm.internal.Intrinsics.checkParameterIsNotNull,参数 convertView

在将适配器代码转换为Kotlin后出现此错误:java.lang.IllegalArgumentException:Parameterspecifiedasnon-nullisnull:methodkotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,parameterconvertViewat...MyAdapter.getView(UnknownSource:35)atandroid.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:220)atan

Kotlin 1.3.11 打破了空安全性?

funhandle():String{null?.let{return"Ololo"}}valresult=handle()result.trim()//kotlin.TypeCastException:nullcannotbecasttonon-nulltypekotlin.CharSequence知道为什么null安全的Kotlin函数返回null吗? 最佳答案 这是引入contracts引起的错误对于Kotlin1.3中的标准函数let、run、apply、also。修复针对的是版本1.3.20。见KT-28061了解详情。

thread-safety - Kotlin: "synchronized"使编译器不确定变量的初始化

让我们想象下一段Kotlin代码通过JDBC连接器对数据库执行一些查询:varresults:ResultSetpreparedStatement.clearParameters()preparedStatement.setInt(1,value1);preparedStatement.setInt(2,value2)results=preparedStatement.executeQuery()while(results.next()){//parseresults}编译没有问题。但是,当我尝试将线程安全添加到对preparedStatement的访问时:varresults:Res

kotlin - 为什么不安全的 .run() 调用在 Kotlin 中的空值上工作正常?

我有以下代码片段:valfoo:String?=nullfoo.run{println("foo")}我这里有一个可以为空的变量foo,它实际上设置为null,然后是一个非安全的.run()调用。当我运行代码片段时,我会打印出foo,尽管run方法是在null上调用的。这是为什么?为什么没有NullPointerException?为什么编译器允许对可选值进行非安全调用?如果我通过println(foo),我会在控制台中得到一个漂亮的null,所以我认为可以安全地假设foo实际上是null。 最佳答案 我相信,有两件事可能会让人感到

kotlin - 扩展方法和扩展属性是不好的做法吗?

所以如果扩展方法和扩展属性真的是静态方法和属性。并且静态方法和属性和方法不是线程安全的,因此应该避免扩展方法和扩展属性是不好的。我们只是被欺骗了,因为我们编写的代码看起来很漂亮或干净,但在性能方面却不是。这是真的吗? 最佳答案 这取决于您如何编写扩展函数/属性。如果他们不编辑或访问共享状态,即如果属性和功能是明确的功能:这绝对不是坏习惯。示例1:funString.countSpaces():Int{returnthis.count{c->c==''}}此函数在多线程环境中完美运行,因为String是不可变的。示例2:datacla

intellij-idea - Kotlin 验证错误 : Uninitialized object exists on backward branch 90

我正在使用Kotlingettingstartedguide首次在IntelliJIDEA上设置Kotlin,配置如下:IntelliJIDEA2017.2.5Build#IC-172.4343.14,builtonSeptember26,2017JRE:1.8.0_152-release-915-b12x86_64JVM:OpenJDK64-BitServerVMbyJetBrainss.r.oMacOSX10.11.6我在一个新的Kotlin项目中创建了一个App.kt文件,代码如下:funmain(args:Array){println("hello")}在通过IDE运行代码时,

java - Kotlin 数据类打包

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭4年前。ImprovethisquestionKotlin引入了数据类的奇妙概念。这些类将派生equals()/hashCode()、toString()、getters()/setters()和>copy()函数基于构造函数中声明的属性:数据类KotlinUser(valname:String,valage:Int)在Java中,这看起来像:publicclassJavaUser{publicJavaUser(Stringname,