草庐IT

kotlin-stdlib-jdk

全部标签

constructor - 在 Kotlin 中匿名实现接口(interface)导致 "has no constructors"错误

我正在尝试在Android中使用SurfaceView来保存相机预览。文档告诉我,我需要在表面支架的surfaceCreated回调中调用startPreview。我正在尝试像这样设置回调this.surface!!.holder!!.addCallback(SurfaceHolder.Callback(){funsurfaceChanged(holder:SurfaceHolder,format:Int,width:Int,height:Int){}funsurfaceCreated(holder:SurfaceHolder){}funsurfaceDestroyed(holder:

android - 无法访问 BaseColumns 在 Kotlin 中提供了 _ID 属性

我正在定义我的用户SQLite数据库表,为此,我创建了以下UserContract和UserEntry类:classUserContractprivateconstructor(){classUserEntryprivateconstructor():BaseColumns{companionobject{valTABLE_NAME="users"valCOLUMN_DISPLAY_NAME="display_name"valCOLUMN_EMAIL="email"//...}}}我面临的问题是我无法访问BaseColums实现提供的_ID属性:valcolumnDisplayName

android - 无法访问 BaseColumns 在 Kotlin 中提供了 _ID 属性

我正在定义我的用户SQLite数据库表,为此,我创建了以下UserContract和UserEntry类:classUserContractprivateconstructor(){classUserEntryprivateconstructor():BaseColumns{companionobject{valTABLE_NAME="users"valCOLUMN_DISPLAY_NAME="display_name"valCOLUMN_EMAIL="email"//...}}}我面临的问题是我无法访问BaseColums实现提供的_ID属性:valcolumnDisplayName

Kotlin 数字文字

我注意到我可以像这样将double值转换为整数。vararray=kotlin.arrayOfNulls(10)for(iinarray.indices){array[i]=(Math.random().toInt())}如果Math.random()返回一个double值,double值怎么会有一个名为toInt()的方法呢?数值也是对象吗? 最佳答案 是的,数字类型的实例是Kotlin对象。引自Kotlindocs:InKotlin,everythingisanobjectinthesensethatwecancallmembe

Kotlin 数字文字

我注意到我可以像这样将double值转换为整数。vararray=kotlin.arrayOfNulls(10)for(iinarray.indices){array[i]=(Math.random().toInt())}如果Math.random()返回一个double值,double值怎么会有一个名为toInt()的方法呢?数值也是对象吗? 最佳答案 是的,数字类型的实例是Kotlin对象。引自Kotlindocs:InKotlin,everythingisanobjectinthesensethatwecancallmembe

java - 如何创建一个固定大小的 IntArray 并稍后在 Kotlin 中初始化该数组?

我想不出在Kotlin中向数组添加值的方法。我想从用户那里获取值并将它们添加到数组中。valarr=arrayOf()或vararr=intArrayOf()在Java中我会这样做:Scannerob=newScanner(System.in);intarr[]=newint[5];for(inti=0;i如何在Kotlin中做同样的事情? 最佳答案 您需要escapeSystem类的静态字段in带有反引号(`),因为in是Kotlin中的关键字。例如:valob=Scanner(System.`in`)你可以创建一个固定大小的in

java - 如何创建一个固定大小的 IntArray 并稍后在 Kotlin 中初始化该数组?

我想不出在Kotlin中向数组添加值的方法。我想从用户那里获取值并将它们添加到数组中。valarr=arrayOf()或vararr=intArrayOf()在Java中我会这样做:Scannerob=newScanner(System.in);intarr[]=newint[5];for(inti=0;i如何在Kotlin中做同样的事情? 最佳答案 您需要escapeSystem类的静态字段in带有反引号(`),因为in是Kotlin中的关键字。例如:valob=Scanner(System.`in`)你可以创建一个固定大小的in

java - 如何强制某些方法仅对 kotlin 可见

我希望某些方法仅对kotlin代码可见,而对Java代码不可见。比如这里有一个方法funmethod(){},只能在kotlin代码中调用,不能在Java代码中调用。 最佳答案 您可以通过使用@JvmSynthetic来实现您想要的。注解。它用syntheticflag标记元素在JVM字节码中,它的使用在Java源代码中变成了一个错误(不太确定其他JVM语言,需要检查,但它可能也可以工作):@JvmSyntheticfunf(){/*...*/}被标记的元素在Kotlin中仍然可以正常使用。很遗憾,@JvmSynthetic不能用于

java - 如何强制某些方法仅对 kotlin 可见

我希望某些方法仅对kotlin代码可见,而对Java代码不可见。比如这里有一个方法funmethod(){},只能在kotlin代码中调用,不能在Java代码中调用。 最佳答案 您可以通过使用@JvmSynthetic来实现您想要的。注解。它用syntheticflag标记元素在JVM字节码中,它的使用在Java源代码中变成了一个错误(不太确定其他JVM语言,需要检查,但它可能也可以工作):@JvmSyntheticfunf(){/*...*/}被标记的元素在Kotlin中仍然可以正常使用。很遗憾,@JvmSynthetic不能用于

c++ - mingw/include/c++/cstdlib : stdlib. h: 没有那个文件或目录

我正在尝试交叉编译OpenImageIO对于使用MinGW的Fedora26上的64位Windows。在使用yum检索依赖项的mingw版本后,我运行了mingw64-cmake,然后是make。但是,我立即收到有关未找到stdlib.h的编译错误。[0%]BuilttargetCopyFiles[0%]BuildingCXXobjectsrc/libutil/CMakeFiles/OpenImageIO_Util.dir/argparse.cpp.objInfileincludedfrom.../oiio/src/libutil/argparse.cpp:36:0:/usr/x86_