繁体   English   中英

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

[英]Why Java has so many parse methods?

例如,Math.max(.. ..)方法被重载以支持不同类型的Number 所有这些的一个名称,因为没有其他类型的数字 ,它做同样的事情。
为每个扩展Number的类定义的解析NumberType方法也是如此。

为什么会这样? 如果参数化的解析方法在Number(和Number of course,参数化)中定义,那就不会更好了: public abstract T parse( String s ); (并在之后的所有子类中实现)

Math.max的各种版本都有原始参数,而不是Numbers(对象)。 你建议的是每次调用方法时都需要装箱/拆箱操作,这不会像当前设计那样有效。

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

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

解析实例方法毫无意义。 您必须在解析之前构造不可变值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM