Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 带加号的Kotlin多行字符串声明_Android_String_Kotlin - Fatal编程技术网

Android 带加号的Kotlin多行字符串声明

Android 带加号的Kotlin多行字符串声明,android,string,kotlin,Android,String,Kotlin,我们可以用Java声明字符串,如下所示: String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + "=" + MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE.toString(); 但当我尝试在kotlin中声明类似的东西时,如下面所示,它显示了android studio中的错误Unresolved reference+ val selection =

我们可以用Java声明字符串,如下所示:

String selection = MediaStore.Files.FileColumns.MEDIA_TYPE
                + "=" + MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE.toString();
但当我尝试在kotlin中声明类似的东西时,如下面所示,它显示了android studio中的错误Unresolved reference+

val selection = MediaStore.Files.FileColumns.MEDIA_TYPE
                + "=" + MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE.toString()
但是,如果我在一行中声明它,它就可以正常工作。但是,当在一行中添加这么大的代码时,代码看起来并不好,kotlin用加号在多行中声明字符串的方式是什么

当我试图在kotlin中声明类似的东西时,如下图所示,它显示了 android studio中的错误未解析引用+

而不是

val selection=MediaStore.Files.FileColumns.MEDIA\u TYPE +=+MediaStore.Files.FileColumns.MEDIA\u TYPE\u IMAGE.toString 尝试将+符号移到第一行

val selection = MediaStore.Files.FileColumns.MEDIA_TYPE +
            "=" + MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE.toString()
因为在一个单独的系统中添加这么大的代码时,代码看起来不太好 行,kotlin用什么方法在多行中声明字符串 加号

你可以试试加号法

或者使用String.format方法

val selection=String.format %s=%s, MediaStore.Files.FileColumns.MEDIA\u类型, MediaStore.Files.FileColumns.MEDIA\u类型\u图像 当我试图在kotlin中声明类似的东西时,如下图所示,它显示了 android studio中的错误未解析引用+

而不是

val selection=MediaStore.Files.FileColumns.MEDIA\u TYPE +=+MediaStore.Files.FileColumns.MEDIA\u TYPE\u IMAGE.toString 尝试将+符号移到第一行

val selection = MediaStore.Files.FileColumns.MEDIA_TYPE +
            "=" + MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE.toString()
因为在一个单独的系统中添加这么大的代码时,代码看起来不太好 行,kotlin用什么方法在多行中声明字符串 加号

你可以试试加号法

或者使用String.format方法

val selection=String.format %s=%s, MediaStore.Files.FileColumns.MEDIA\u类型, MediaStore.Files.FileColumns.MEDIA\u类型\u图像
除了@theapache64 answer,Kotlin还有$format

val mediaType=MediaStore.Files.FileColumns.MEDIA\u类型 val MEDIA IMAGE=MediaStore.Files.FileColumns.MEDIA\u TYPE\u IMAGE val selection=$mediaType=$mediaImage 如果要在$内使用表达式,请像这样使用${}

val selection=${MediaStore.Files.FileColumns.MEDIA\u TYPE}=${MediaStore.Files.FileColumns.MEDIA\u TYPE\u IMAGE}
除了@theapache64 answer,Kotlin还有$format

val mediaType=MediaStore.Files.FileColumns.MEDIA\u类型 val MEDIA IMAGE=MediaStore.Files.FileColumns.MEDIA\u TYPE\u IMAGE val selection=$mediaType=$mediaImage 如果要在$内使用表达式,请像这样使用${}

val selection=${MediaStore.Files.FileColumns.MEDIA\u TYPE}=${MediaStore.Files.FileColumns.MEDIA\u TYPE\u IMAGE}
使用加号法brouse加号法browhy+符号筛选来解决问题?有没有什么具体的原因或者它只是科特林的方式?因为科特林不需要;在这行的末尾,就像Java一样。因此,每一行都将被视为单独的命令。你必须在行的末尾加上+号,告诉Kotlin当前行和下一行在同一个命令中。为什么用+号筛选第一行来解决这个问题?有没有什么具体的原因或者它只是科特林的方式?因为科特林不需要;在这行的末尾,就像Java一样。因此,每一行都将被视为单独的命令。您必须在行的末尾加上+号,告诉Kotlin当前行和下一行在同一个命令中。