类似这样的错误提示:
Type inference failed. Expected type mismatch: Inferred type is HashSet<String>? but Set<String> was expected.
是不是一眼看上去,以为是语言有问题,无法使用父类型代表若干个可能的子类型,进而无法针对抽象编程?
如果这么想就错了。实际上,也可以是可空类型与不可空类型不匹配。例如,此处要求非可空类型,但传回的是可空类型。要把“?”符号看清楚,不要看漏。
类似这样的错误提示:
Type inference failed. Expected type mismatch: Inferred type is HashSet<String>? but Set<String> was expected.
是不是一眼看上去,以为是语言有问题,无法使用父类型代表若干个可能的子类型,进而无法针对抽象编程?
如果这么想就错了。实际上,也可以是可空类型与不可空类型不匹配。例如,此处要求非可空类型,但传回的是可空类型。要把“?”符号看清楚,不要看漏。