方法应该返回Class还是Class <?>?

Dav*_*d V 13 java generics

通配符使用Java的指导方针说:

应该避免使用通配符作为返回类型,因为它强制程序员使用代码来处理通配符.

Object getClass方法返回一个Class<?>.Class接受a中的各种方法Class<?>以及传入Class编译器时返回未经检查的警告.这让我觉得永远使用Class<?>是可取的.

如果我有返回的方法Class,我不知道如何该对象将被使用,其类型应我回来Class还是Class<?>?为什么?有什么场景我可能想简单回来Class吗?

Mar*_*ers 3

使用MyType<?>总是比使用 raw 更可取MyType(这扩展到Class)。该指南假定新代码不会使用原始类型,仅支持向后兼容。他们并不是建议您在?力所能及的情况下放弃仿制药。

通过使用通配符参数,泛型的编译时类型安全保证仍然有效。这些保证仅在没有强制转换和原始类型的情况下存在。