这是我的代码
class Foo<T> {
}
class Main {
static func test() {
var foo: Foo<Any>
var bar = Foo<String>()
//Do all my stuff with foo necessitating String
foo = bar
}
}
当我尝试将
foo = bar
赋值时,出现错误无法将类型为Foo<String>的值分配给类型为Foo<Any>的值。
我不明白为什么会出现这个错误,因为String符合Any。 如果我使用Array完全相同的方法,就不会有任何错误。static func test() {
var foo: Array<Any>
var bar = Array<String>()
//Do all my stuff with foo necessitating String
foo = bar
}
有人知道我的代码出了什么问题吗?谢谢