java - 为什么Java有这么多parse方法?

标签 java overriding parameterized-types

例如,Math.max( .. .. ) 方法被重载以支持不同类型的Number。一个名称,因为无论 Number 的类型如何,它都做同样的事情。
为每个扩展 Number 的类定义的 parseNumberType 方法也是如此。

为什么会这样?如果在 Number(当然还有 Number,parameterized)中定义了一个参数化的解析方法,那就更好了,比如: public abstract T parse( String s );(之后在 Number 的所有子类中具体实现)

最佳答案

Number自 JDK 1.0 以来就存在,泛型仅在 Java 1.5 中引入。因此,这种通用的解析方法是不可能的。

关于Math.max,它只接受原始类型,它们之间没有任何形式的关系,每个原始类型都需要单独声明才能被支持。

关于java - 为什么Java有这么多parse方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31471013/

相关文章:

java - 数组对多维数组进行排序以匹配第二个数组

c# - 基于具有几个小数位的 double 生成唯一的哈希码

C++ : What is happening when a non-overridden calls a overridden method?

java - 如何实现类型参数是参数化类型的约束

java - Java 中 Do..While 循环的多个条件

java - 如何轻松地将 CSV 文件处理为 List<MyClass>

java - 如何找出 GWT(客户端)中缺少哪些 Java 类?

css - 为什么我必须覆盖 webkit 样式表才能为 anchor 链接创建 css 规则?

java - 提取参数化类型的值时,将参数化类型类参数转换为子类形式

java - 为什么java中的 "super type token"模式需要匿名类