编程语言
首页 > 编程语言> > 为什么Java有这么多解析方法?

为什么Java有这么多解析方法?

作者:互联网

例如,Math.max(.. ..)方法被重载以支持不同类型的Number.它们全部取一个名字,因为没有数字的类型,它就做同样的事情.
为每个扩展Number的类定义的parseNumberType方法也是如此.
为什么会这样呢?如果在Number(和Number,当然是参数化)中定义了参数化的解析方法,那就再好不过了:
    公共抽象T parse(String s); (并且此后在Number的所有子类中专门实现)

解决方法:

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

关于Math.max,它仅接受基本类型,它们之间没有任何形式的关系,并且每种基本类型都需要单独声明才能得到支持.

标签:method-overriding,parameterized-types,java
来源: https://codeday.me/bug/20191028/1949739.html