最近、キーワードについて読みましたが、とても混乱しています。とキーワードconst
の違いがわかりません。どちらも不変変数を作成するために使用できますが、他に見落としている点はありますか?const
val
ベストアンサー1
const
val
はコンパイル時定数です。つまり、実行時に値を割り当てることができる とは異なり、コンパイル時に値を割り当てる必要があります。
つまり、 に割り当てることができるのは String またはプリミティブのみでありconst
、関数またはクラス コンストラクターの呼び出しの結果を割り当てることはできません。
例えば:
const val foo = complexFunctionCall() //Not okay
val fooVal = complexFunctionCall() //Okay
const val bar = "Hello world" //Also okay