Menu
Coddy logo textTech

Null安全性とは

CoddyのKotlinジャーニー「基礎」セクションの一部。レッスン 12/93。

多くのプログラミング言語では、最もよくあるエラーの一つが、存在しないもの、つまり null 値にアクセスしようとすることです。これは、変数が実際のデータではなく「何もない」状態を保持しているときに発生します。

ユーザーの名前を尋ねたのに、ユーザーが名前を入力していなかった場合を想像してみてください。コードが最初に確認せずにその空の名前を使おうとすると、プログラムがクラッシュします。この種のバグは非常によくあるため、「10億ドルの間違い」と呼ばれてきました。

Kotlinの解決策:Null安全性

Kotlinは、こうしたクラッシュをなくすために設計されました。デフォルトでは、Kotlinの変数はnull値を保持できません

fun main() {
    var name: String = "Alice"
    name = null  // エラー!コンパイルできません
}

コンパイラは、コードが実行される前にこの問題を検出します。これがKotlinを「null安全」にしている理由です。言語自体が、本来nullを使用すべきでない場所で誤って使用するのを防ぎます。

これからのレッスンでは、Kotlinによって、実際に必要なときにnullかもしれない値を扱いながら、コードをクラッシュから安全に保つ方法を学びます。

challenge icon

チャレンジ

簡単

Kotlin の null 安全性を示すために、null 非許容変数を 2 つ宣言します。

  • 値が "Kotlin" の、username という名前の String 変数
  • 値が 100 の、score という名前の Int 変数

次に、println() を使用して両方の値を別々の行に出力します。

覚えておきましょう:Kotlin では、通常の(null 非許容)型は null 値を保持できません。コンパイラーによって、変数には常に有効なデータが含まれることが保証されます。

自分で試してみよう

fun main() {
    // TODO: 以下にコードを書いてください
    // null非許容のString変数 'username' を値 "Kotlin" で宣言する
    
    // null非許容のInt変数 'score' を値 100 で宣言する
    
    // println()を使って両方の値を別々の行に出力する
    
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Kotlinプレイグラウンド