Question
Consider the following scala definitions class Logger[T] { def log (x : T) : Unit = { println (x) } } Recall that: A
Consider the following scala definitions
class Logger[T] { def log (x : T) : Unit = { println (x) } } Recall that: A<:B means "A is a subtype of B"
We would say that Logget [T] is covariant in its type parameter T if Logger[Y]<:Logger[X] whenever Y<:X for any types X and Y
Which one of the following statements is true?
1) Logger[T] cannot be covariant in its type parameter T 2) Logger[T] can be covariant in its type parameter T 3) Logger[List[Int]] <: Logger[Array[Int]] 4) The code fails to compile because the log method does not store x 5) Logger[Array[Int]] <: Logger[List[Int]]
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started