java - 创建通用 Number 子类的零值

标签 java generics

我如何通用地创建任意数字类型的零?

这是一个玩具示例:一个将空数转换为零的函数。

static <T extends Number> T zeroIfNull(T value) {
    return value == null ? 0 : value;
}

这不会编译,因为文字零是 int 类型,我需要将其转换为 T 类型。

有没有可能做到这一点?

最佳答案

有可能做到这一点吗?
并不真地。一方面,当值为 null 时,方法如何知道要返回哪个 Number 实现?

关于java - 创建通用 Number 子类的零值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3544351/

相关文章:

java - Hashtable<String,Integer[]> myhash = new Hashtable();

java - 如何将 gradle 多项目中的所有依赖项资源收集到 dist 文件夹中

java - 为什么这个 for 语句在 Java 中显示死代码?

java - 这是通用的自动装箱吗?

c# - 更好地理解 C# 泛型

Delphi:如何使用 TObjectList<T>?

java - Ant资源存在检查

java - 如何解决 : java. sql.SQLException : setDate, 异常 = 无效的年份值

java - 返回有界通配符

typescript - 如何使这个通用 TypeScript 函数按预期工作?