मेरे पास कुछ प्रकार हैं:

abstract class TransitionalState
class State extends TransitionalState
class Parallel extends TransitionalState

और उनके रैपर:

trait TransitionalStateWrapper[T <: TransitionalState]  {
  def state: T
}
trait StateWrapper extends TransitionalStateWrapper[State]
trait ParallelWrapper extends TransitionalStateWrapper[Parallel]

तब मेरे पास विधि है:

 def convert(): List[TransitionalStateWrapper[TransitionalState]] = {
    val list: List[StateWrapper] = List(new StateWrapper {
      def state: State = new State {}
    })
    list
  }

मैं list को List[TransitionalStateWrapper[TransitionalState]] में कैसे बढ़ा सकता हूं?

मुझे <कोड> त्रुटि मिली:(१८, ५) बेमेल टाइप करें; पाया गया: सूची [स्टेटवापर] आवश्यक: सूची [संक्रमणकालीनस्टेटवापर [संक्रमणकालीन राज्य]] सूची

0
Mikhail Ionkin 17 जिंदा 2020, 18:32

1 उत्तर

सबसे बढ़िया उत्तर

आप इसे अपकास्ट नहीं कर सकते क्योंकि TransitionalStateWrapper[State], TransitionalStateWrapper[TransitionalState] का उपप्रकार नहीं है।

TransitionalStateWrapper को प्रकार पैरामीटर T में सहसंयोजक होना चाहिए।

trait TransitionalStateWrapper[+T <: TransitionalState]  {
  def state: T
}
3
Jasper-M 17 जिंदा 2020, 18:46