如果Enum声明没有递归部分,Java中会有什么不同

如果Enum声明没有递归部分,Java中会有什么不同,第1张

如果Enum声明没有递归部分,Java中会有什么不同

我相信这样做的一个令人信服的理由是,它使MyEnum类中的代码更具类型安全性。

考虑到递归部分使这种事情成为可能:

class MyEnum<E extends MyEnum<E>> {    private Thing<E> util1() { return someObject }    private void util2(E e) {}    public int method(E o) {         Thing<E> thingy = o.util1();         // You can call the util1 method on o and get a type safe return element.        E o1 = // I don't care how you get a parametrized E object.        o.util2(o1);        // You can call the util2 method with a typesafe parameter.    }}

简而言之,该递归使您可以将类型安全方法放在可以在任何E元素上调用的Enum类中,这些调用将是类型安全的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5490397.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存