AE
Size: a a a
AE
YS
QH
BP
АЕ
interface MessageSerializer<in T> where T : Message {
fun serialize(message: T): String
}
fun getSerializer(message: Message): MessageSerializer
Как в этом методе правильно расставить дженерики?АЕ
factory.getSerizliaer(message).serialize(message)
QH
interface MessageSerializer<in T> where T : Message {
fun serialize(message: T): String
}
fun getSerializer(message: Message): MessageSerializer
Как в этом методе правильно расставить дженерики?fun <T : Message> getSerializer(message: T): MessageSerializer<T>
АЕ
fun <T : Message> getSerializer(message: T): MessageSerializer<T>
QH
when (message) { is ...
, я думаю, компилятор не уточняет тип T в этих ветках.АЕ
АЕ
QH
АЕ
QH
message is Authorize
, компилятор не связывает это с там, что T : Autgorize
. И, кстати, правильно делает.АЕ
QH
getSerializer<Message>(someMsg)
, и компилятор со своими предосторожностями окажется прав.QH
АЕ
QH