【发布时间】:2016-01-21 17:17:00
【问题描述】:
我正在尝试创建一个可以接受许多基本类型(byte、int、float、long、double 或 short)的方法。然后在某个检查方法之后,要么返回相同的数字(例如,它接受双精度并返回双精度),要么返回零。
到目前为止,我已经做到了:
<AnyNumType> AnyNumType cancelAdd(AnyNumType val, String point) {
if (checkModuleMatchAndOff(point) == true) return 0;
else return val;
}
但我收到类型不匹配错误(带有下划线并解释为 0:“无法从 int 转换为 AnyNumType”)。有没有办法解决这个零问题?我打算在方程式中使用这种方法,所以我真的需要它来返回原始类型。
编辑:非常感谢你们的所有回复,伙计们!
【问题讨论】:
-
泛型不能使用原始类型(如
int或float)。您需要为您希望支持的每种原始类型创建专用方法。