我的课
class MyType<E extends num> {
final E data;
MyType(this.data);
MyType.fromList(List<E> list)
: data = list.asMap().containsKey(0) ? list[0] : 0 as E;
}
...
final o1 = MyType<double>.fromList([]);
字符串
为什么我得到这个错误
未处理的异常:类型“int”不是类型强制转换中类型“double”的子类型
当类型被限制为E extends num时,如何初始化数值字段
你的详细回答非常感谢
1条答案
按热度按时间lmvvr0a81#
我不确定是否有更正确(和/或漂亮)的方法来做到这一点,但由于
num
被限制为只能有int
和double
作为嵌套类型,我们可以添加类型检查来确定我们使用的值:字符串
可以通过将此逻辑移动到它自己的方法中来清理。