kotlin.notimplementederror
全部标签 在Kotlin中,我有两个列表:valx:List=listOf(1,2,3,4,5,6)valy:List=listOf(2,3,4,5,6,7)我如何获得:valz:List=3,5,7,9,11,13不使用循环? 最佳答案 假设两个列表具有相同的大小:使用zipvalsum=x.zip(y){xv,yv->xv+yv}使用简单的map和mapIndexedvalsum=(0untilx.size).map{x[it]+y[it]}//orvalsum=x.mapIndexed{index,xv->xv+y[index]}当大小
我想在多个类中使用这个函数:funT?.ifNull(function:(T?,s:String)->Unit){}我怎样才能做到这一点?这就是我想使用它的方式:classA{funT?.ifNull(function:(T?,s:String)->Unit){}}classB{constructor(){vala=A()//Iwanttousethefunctionhere}} 最佳答案 如果您将扩展函数定义为A类的成员,则该扩展函数只能在A的上下文中使用。这意味着,您当然可以直接在A中使用它。但是,从另一个类B来看,它不是直接可
我从Kotlin开始,但遇到了一个问题。我有三个常量(我们称它们为VAL_A、VAL_B和VAL_C),我正在做这个赋值:varvariable=if(value我想使用whenblock而不是ifelse,但我不知道如何处理valueVAR_C。谢谢你,对不起我的英语! 最佳答案 您可能正在寻找的理想语法是when(value){valueAvalueBvalueCelse->valueD}很遗憾,这是不可能的,因为comparisonoperatorsareoperatoroverloads对于需要接收器的功能:value与相同
我想将字符串从“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]如上述注释行所述,它会出错。我做错了什么?我怎样才能解决这个问题并得到我想要的?
我有一个utilKotlin类,我在其中设置工具栏标题、隐藏或显示工具栏取决于fragment:classMyToolbarUtils(){funhideToolbar(activity:Activity){(activityasMainActivity).supportActionBar!!.hide()}funshowToolbar(activity:Activity,tag:String){setToolbarTitle(tag,activity)(activityasMainActivity).supportActionBar!!.show()}funsetToolbarTit
我有一个androidEditText,我正在设置text属性。通常我会使用:editText.text="Mars"但是setter返回了一个Editable,所以Kotlin似乎试图用一个失败的String替换返回的Editable。所以“解决方法”是:editText.setText("Mars")当使用这种类型的setter时,有没有更漂亮的方法(而不是setText())来设置文本? 最佳答案 在Kotlin中,赋值不是表达式。赋值表达式的实际用例很少,而且往往会降低代码的可读性,更不用说if(a=b)错误,因此它们被排除
在将适配器代码转换为Kotlin后出现此错误:java.lang.IllegalArgumentException:Parameterspecifiedasnon-nullisnull:methodkotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,parameterconvertViewat...MyAdapter.getView(UnknownSource:35)atandroid.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:220)atan
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了解详情。
让我们想象下一段Kotlin代码通过JDBC连接器对数据库执行一些查询:varresults:ResultSetpreparedStatement.clearParameters()preparedStatement.setInt(1,value1);preparedStatement.setInt(2,value2)results=preparedStatement.executeQuery()while(results.next()){//parseresults}编译没有问题。但是,当我尝试将线程安全添加到对preparedStatement的访问时:varresults:Res
我有以下代码片段:valfoo:String?=nullfoo.run{println("foo")}我这里有一个可以为空的变量foo,它实际上设置为null,然后是一个非安全的.run()调用。当我运行代码片段时,我会打印出foo,尽管run方法是在null上调用的。这是为什么?为什么没有NullPointerException?为什么编译器允许对可选值进行非安全调用?如果我通过println(foo),我会在控制台中得到一个漂亮的null,所以我认为可以安全地假设foo实际上是null。 最佳答案 我相信,有两件事可能会让人感到