2017-06-13 59 views
3

我是的新手,当我开始Null Safety时,我感到困惑。Kotlin NullPointerException发生

在初始化方面存在一些数据不一致性(未初始化,这在构造函数中可用)。

任何人都可以更详细地描述情况吗?适于从一个Kotlin discussion on exactly this

+3

5秒揭示此:https://discuss.kotlinlang.org/t/nre-from-an-uninitialized-this-in-constructor/1966 –

+1

@OliverCharlesworth首先感谢,我来自中国,对不起,我无法打开您的链接。先生,你可以在答案中写下来吗? –

回答

4

实施例:谷歌搜索

class Foo { 
    val c: String   // Non-nullable 

    init { 
     bar() 
     c = ""    // Initialised for the first time here 
    } 

    fun bar() { 
     println(c.length) // Oh dear 
    } 
} 

fun main(args: Array<String>) { 
    Foo() 
} 
+0

非常感谢,先生。我通过你的例子立即了解它。 –

相关问题