ฉันสงสัยว่ามีวิธีการตรวจสอบว่าlateinitตัวแปรได้รับการเริ่มต้น ตัวอย่างเช่น:
class Foo() {
private lateinit var myFile: File
fun bar(path: String?) {
path?.let { myFile = File(it) }
}
fun bar2() {
myFile.whateverMethod()
// May crash since I don't know whether myFile has been initialized
}
}
allSeriesvar ไปseriesDir?.listFiles()?.map { it.name }?.toTypedArray()ซึ่งไม่ใช่ "สวย" มาก
if (seriesDir != null) { allSeries = seriesDir.listFiles().map { it.name }.toTypedArray() }

File?เป็นโมฆะ(เปลี่ยนประเภทเป็น) และเพียงตรวจสอบว่ามันเป็นโมฆะแทน?