Bird
Raised Fist0
Kotlinprogramming~5 mins

Nullable types with ? suffix in Kotlin - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the ? suffix mean in Kotlin types?
It means the variable can hold either a value of that type or null. For example, String? means a variable can be a string or null.
Click to reveal answer
beginner
How do you declare a nullable integer variable in Kotlin?
You add a ? after the type. For example: var number: Int? = null means number can be an integer or null.
Click to reveal answer
intermediate
Why does Kotlin use nullable types instead of allowing null everywhere?
To prevent errors caused by null values, called NullPointerExceptions. Nullable types force you to check for null before using the value.
Click to reveal answer
beginner
What happens if you try to assign null to a non-nullable type in Kotlin?
The code will not compile. Kotlin requires you to explicitly mark a type as nullable with ? to allow null values.
Click to reveal answer
intermediate
How do you safely access a property or method of a nullable variable in Kotlin?
Use the safe call operator ?.. For example, name?.length returns the length if name is not null, otherwise it returns null.
Click to reveal answer
What does String? mean in Kotlin?
AA non-nullable string
BA string that cannot be null
CA nullable integer
DA string that can also be null
Which operator safely accesses a property of a nullable variable?
A?.
B!!
C:
D?:
What happens if you assign null to a non-nullable type?
ACode compiles and runs
BCode compiles but throws error at runtime
CCode does not compile
DCode ignores the null
How do you declare a nullable Boolean variable named flag?
Avar flag: Boolean = null
Bvar flag: Boolean? = null
Cvar flag: Boolean?
Dvar flag: Boolean
Why does Kotlin use nullable types?
ATo prevent NullPointerExceptions by forcing null checks
BTo allow any variable to be null without checks
CTo make code longer
DTo allow nulls everywhere
Explain what nullable types are in Kotlin and how the ? suffix works.
Think about how Kotlin prevents null errors.
You got /3 concepts.
    Describe how to safely use a nullable variable's property or method in Kotlin.
    How do you avoid crashes when a variable might be null?
    You got /3 concepts.

      Practice

      (1/5)
      1. What does adding a ? after a type in Kotlin mean?
      easy
      A. The variable is immutable.
      B. The variable can hold a null value.
      C. The variable is a constant.
      D. The variable is a function.

      Solution

      1. Step 1: Understand Kotlin type suffix

        In Kotlin, adding ? after a type means the variable can hold null.
      2. Step 2: Compare with non-nullable types

        Without ?, variables cannot be null and will cause errors if assigned null.
      3. Final Answer:

        The variable can hold a null value. -> Option B
      4. Quick Check:

        Nullable type = variable can be null [OK]
      Hint: Remember: ? means nullable type in Kotlin [OK]
      Common Mistakes:
      • Thinking ? makes variable immutable
      • Confusing ? with constant declaration
      • Assuming ? means function type
      2. Which of the following is the correct syntax to declare a nullable String variable in Kotlin?
      easy
      A. var name: String?
      B. var name: ?String
      C. var name: String!
      D. var name: nullable String

      Solution

      1. Step 1: Recall Kotlin nullable syntax

        Kotlin uses ? after the type name to mark it nullable, e.g., String?.
      2. Step 2: Check each option

        var name: String? uses String? correctly. Options A, B, and D use invalid syntax.
      3. Final Answer:

        var name: String? -> Option A
      4. Quick Check:

        Nullable syntax = type followed by ? [OK]
      Hint: Put ? right after the type name for nullable [OK]
      Common Mistakes:
      • Placing ? before the type
      • Using ! instead of ?
      • Writing 'nullable' keyword explicitly
      3. What will be the output of this Kotlin code?
      var text: String? = null
      println(text?.length ?: "No length")
      medium
      A. 0
      B. null
      C. No length
      D. Throws NullPointerException

      Solution

      1. Step 1: Understand safe call and Elvis operator

        text?.length safely accesses length if text is not null; else returns null. The Elvis operator ?: provides "No length" if left side is null.
      2. Step 2: Evaluate given code

        Since text is null, text?.length is null, so the expression prints "No length".
      3. Final Answer:

        No length -> Option C
      4. Quick Check:

        Safe call + Elvis = fallback value [OK]
      Hint: Safe call ?. returns null safely; ?: provides default [OK]
      Common Mistakes:
      • Expecting NullPointerException on null safe call
      • Thinking null?.length returns 0
      • Ignoring Elvis operator fallback
      4. Identify the error in this Kotlin code snippet:
      var number: Int? = 10
      var result: Int = number + 5
      medium
      A. Variable 'result' should be nullable.
      B. Variable 'number' cannot be nullable.
      C. Missing semicolon after declaration.
      D. Cannot add Int? and Int directly.

      Solution

      1. Step 1: Check type compatibility

        number is nullable Int?, but result expects non-null Int. Adding nullable and non-null directly is not allowed.
      2. Step 2: Understand Kotlin's null safety

        You must safely unwrap number before adding, e.g., using number ?: 0 or safe call.
      3. Final Answer:

        Cannot add Int? and Int directly. -> Option D
      4. Quick Check:

        Nullable + non-null Int needs safe unwrap [OK]
      Hint: Nullable Int can't be used directly in arithmetic [OK]
      Common Mistakes:
      • Assuming nullable Int can be used like Int
      • Ignoring need for safe call or Elvis operator
      • Thinking semicolon is required in Kotlin
      5. You have a nullable list of nullable Strings: val items: List?. How do you safely print the length of the first item or print 0 if the list or first item is null?
      hard
      A. println(items?.get(0)?.length ?: 0)
      B. println(items[0].length)
      C. println(items!!.get(0)!!.length)
      D. println(items?.get(0).length ?: 0)

      Solution

      1. Step 1: Analyze nullable types

        items can be null, and its elements can be null. So both list and first item need safe calls.
      2. Step 2: Use safe calls and Elvis operator

        items?.get(0)?.length ?: 0 safely accesses first item length or returns 0 if null.
      3. Final Answer:

        println(items?.get(0)?.length ?: 0) -> Option A
      4. Quick Check:

        Safe calls chain + fallback = safe nullable access [OK]
      Hint: Chain ?. for each nullable and use ?: for default [OK]
      Common Mistakes:
      • Using !! which throws exception if null
      • Missing safe call on first item
      • Assuming list or item can't be null
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard