Bird
Raised Fist0
Kotlinprogramming~20 mins

Any type as universal base in Kotlin - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Any Type Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of casting Any to specific types
What is the output of this Kotlin code snippet?
Kotlin
fun main() {
    val value: Any = 42
    when (value) {
        is String -> println("String: $value")
        is Int -> println("Int: $value")
        else -> println("Unknown type")
    }
}
AString: 42
BInt: 42
CUnknown type
DCompilation error
Attempts:
2 left
💡 Hint
Remember that 'value' is assigned an Int but typed as Any.
🧠 Conceptual
intermediate
2:00remaining
Why is Any the universal base type in Kotlin?
Which statement best explains why Kotlin uses 'Any' as the universal base type?
ABecause all Kotlin classes inherit from 'Any', allowing any value to be stored in variables of type 'Any'.
BBecause 'Any' is used only for nullable types.
CBecause 'Any' is an interface that all classes implement explicitly.
DBecause 'Any' can hold only primitive types like Int and Double.
Attempts:
2 left
💡 Hint
Think about inheritance and type hierarchy in Kotlin.
🔧 Debug
advanced
2:00remaining
Identify the runtime error with Any casting
What runtime error will this Kotlin code produce?
Kotlin
fun main() {
    val obj: Any = "Hello"
    val num: Int = obj as Int
    println(num)
}
APrints 'Hello' without error
BCompilation error due to invalid cast
CClassCastException at runtime
DPrints 0 due to default conversion
Attempts:
2 left
💡 Hint
Casting a String to Int directly is unsafe.
📝 Syntax
advanced
2:00remaining
Which code snippet correctly checks type of Any?
Which of the following Kotlin snippets correctly checks if a variable of type Any holds a String and prints it?
Aif (obj is String()) println(obj) else println("Not a String")
Bif (obj instanceof String) println(obj) else println("Not a String")
Cif (obj.type == String) println(obj) else println("Not a String")
Dif (obj is String) println(obj) else println("Not a String")
Attempts:
2 left
💡 Hint
Remember Kotlin uses 'is' for type checking.
🚀 Application
expert
2:00remaining
Result of storing different types in a List
What will be the output of this Kotlin program?
Kotlin
fun main() {
    val items: List<Any> = listOf(10, "Kotlin", 3.14, true)
    for (item in items) {
        when (item) {
            is Int -> print("I")
            is String -> print("S")
            is Double -> print("D")
            is Boolean -> print("B")
            else -> print("?")
        }
    }
}
AISDB
BIDSB
CISD?
DCompilation error
Attempts:
2 left
💡 Hint
Check the type of each element in the list and the corresponding print letter.

Practice

(1/5)
1. In Kotlin, which type is the universal base type that can hold any kind of value?
easy
A. Universal
B. Object
C. Base
D. Any

Solution

  1. Step 1: Understand Kotlin's type hierarchy

    Kotlin uses Any as the root of its type system, similar to Object in Java.
  2. Step 2: Identify the universal base type

    Any can hold any non-null value, making it the universal base type in Kotlin.
  3. Final Answer:

    Any -> Option D
  4. Quick Check:

    Universal base type = Any [OK]
Hint: Remember: Kotlin's root type is called Any [OK]
Common Mistakes:
  • Confusing Any with Object (Java's base type)
  • Thinking Base or Universal are Kotlin types
  • Assuming Any can hold null (it cannot)
2. Which of the following is the correct way to declare a variable of type Any in Kotlin?
easy
A. val x: Any = 10
B. val x = Any(10)
C. val x: Any() = 10
D. val x: any = 10

Solution

  1. Step 1: Review Kotlin variable declaration syntax

    Variables are declared with val or var, followed by a colon and the type.
  2. Step 2: Check correct usage of Any type

    Any is a type, not a constructor, so you assign values directly without parentheses.
  3. Final Answer:

    val x: Any = 10 -> Option A
  4. Quick Check:

    Declare with colon and type name = val x: Any = 10 [OK]
Hint: Use colon for type, no parentheses for Any [OK]
Common Mistakes:
  • Trying to call Any as a constructor
  • Using lowercase 'any' instead of 'Any'
  • Adding parentheses after type name
3. What will be the output of this Kotlin code?
fun main() {
    val a: Any = "Hello"
    val b: Any = 123
    println(a)
    println(b)
}
medium
A. Hello 123
B. Any Any
C. Compilation error
D. null null

Solution

  1. Step 1: Understand variable assignments

    Variable a holds a string "Hello" and b holds an integer 123, both typed as Any.
  2. Step 2: Analyze the print statements

    Printing a and b calls their toString() method, outputting "Hello" and "123" respectively.
  3. Final Answer:

    Hello 123 -> Option A
  4. Quick Check:

    Any holds values, prints their string form [OK]
Hint: Any prints actual value's string, not type name [OK]
Common Mistakes:
  • Expecting type name 'Any' to print
  • Thinking it causes compile error
  • Assuming null prints for Any
4. Identify the error in this Kotlin code snippet:
fun main() {
    val x: Any = null
    println(x)
}
medium
A. Missing semicolon after println
B. println cannot print Any type
C. Cannot assign null to a variable of type Any
D. Variable x must be declared as var, not val

Solution

  1. Step 1: Check type nullability

    Any in Kotlin is non-nullable by default, so it cannot hold null.
  2. Step 2: Identify assignment error

    Assigning null to x of type Any causes a compile-time error.
  3. Final Answer:

    Cannot assign null to a variable of type Any -> Option C
  4. Quick Check:

    Any is non-nullable, null assignment fails [OK]
Hint: Any disallows null; use Any? for nullable [OK]
Common Mistakes:
  • Thinking println can't print Any
  • Expecting semicolons in Kotlin
  • Confusing val and var for nullability
5. Given a list of mixed types, how can you create a new list containing only the string representations of elements using Any as the base type?
val mixedList: List<Any> = listOf(1, "two", 3.0, true)

Which Kotlin code correctly produces List<String> with string forms of all elements?
hard
A. val stringList = mixedList.filterIsInstance<String>()
B. val stringList = mixedList.map { it.toString() }
C. val stringList = mixedList.map { it as String }
D. val stringList = mixedList.filter { it is String }

Solution

  1. Step 1: Understand the goal

    We want a list of strings representing all elements, not just the strings themselves.
  2. Step 2: Analyze each option

    val stringList = mixedList.map { it.toString() } maps each element to its string form, producing List<String>. val stringList = mixedList.filterIsInstance<String>() filters only strings, losing other elements. val stringList = mixedList.map { it as String } tries unsafe cast causing runtime error. val stringList = mixedList.filter { it is String } filters strings but returns List<Any>, not List<String>.
  3. Final Answer:

    val stringList = mixedList.map { it.toString() } -> Option B
  4. Quick Check:

    Map all to string form for List<String> [OK]
Hint: Use map with toString() to convert all elements [OK]
Common Mistakes:
  • Using filterIsInstance<String> loses non-string elements
  • Casting with 'as String' causes runtime errors
  • Filtering returns List<Any>, not List<String>
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