问题描述
当前我使用此类型别名
typealias GridMatrix = MutableList<CoordsValue,String?>
现在由于我想这样做,我想用String?
替换T?
typealias GridMatrix = MutableList<CoordsValue,T?>
不幸的是,编译器不允许这样做,因此我感到有点难过,因为我喜欢这里的typealias,并在整个代码库中使用它。
是否有办法使它工作?解决方法还是什么?我也不明白为什么不起作用?我想到了typealias
就像C ++ DEFINE
中那样简单的占位符或替换,它只是在真正的编译开始之前就替换掉了东西。
解决方法
您可以使用类型参数声明类型别名。
尝试一下:
typealias GridMatrix<T> = MutableList<CoordsValue,T?>