Java 尝试获取空数组Kotlin的长度

Java 尝试获取空数组Kotlin的长度,java,android,kotlin,Java,Android,Kotlin,请告诉我有什么问题。有两个相同的应用程序(java和kotlin中的等效程序)具有相同的权限 <uses-permission android: name = "android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android: name = "android.permission.WRITE_EXTERNAL_STORAGE" /> 该类在java中调用相

请告诉我有什么问题。有两个相同的应用程序(java和kotlin中的等效程序)具有相同的权限

<uses-permission android: name = "android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android: name = "android.permission.WRITE_EXTERNAL_STORAGE" />
该类在java中调用相同(在kotlin中调用等效)

爪哇------

科特林----

在启动时,会发出许可证,但问题是java中的deleteFile函数工作正常,而在Kotlin中,它会错误地尝试获取null数组的长度


我无法理解Api 29上检查的应用程序等价物有什么问题?如果您向删除函数传递了一个空文件,可能会有什么问题?(您应该签入调试器)

尝试将“如果”更改为:

@Throws(Exception::class)
fun deleteFile(file: File): Boolean {
    if (file.exists()) {       // changed if (.exists)
        for (name in file.list()) {
            if (!deleteFile(File(file, name))) {
                return false
            }
        }
    }
    return file.delete()
}

(kotlin代码)

如果您向Delete函数传递了一个空文件,可能会这样做?(您应该签入调试器)

尝试将“如果”更改为:

@Throws(Exception::class)
fun deleteFile(file: File): Boolean {
    if (file.exists()) {       // changed if (.exists)
        for (name in file.list()) {
            if (!deleteFile(File(file, name))) {
                return false
            }
        }
    }
    return file.delete()
}

(kotlin代码)

文件是否为文件夹?如果文件夹为空,kotlin中的函数可能返回空数组?文件是否为文件夹?如果文件夹为空,kotlin中的函数可能返回空数组?
if (ShinimaHuynya.getInstance (). requestPermission (this))
        ShinimaHuynya.getInstance (). FreeAllAppsCache (null)
for (String name: file.list ())
@Throws(Exception::class)
fun deleteFile(file: File): Boolean {
    if (file.exists()) {       // changed if (.exists)
        for (name in file.list()) {
            if (!deleteFile(File(file, name))) {
                return false
            }
        }
    }
    return file.delete()
}