gpt4 book ai didi

java - Java中的 'new Class[] {iface}'和 'new Class[] {iface}'是一样的吗

转载 作者:搜寻专家 更新时间:2023-10-31 20:11:54 24 4
gpt4 key购买 nike

这两个语句在 Java 中是否相等?

//code 1
Object o1[] = new Class[] {iface};
//code 2
Object o2[] = new Class<?>[] {iface};

最佳答案

是的,在这种情况下实际上是一样的。

这里

Object o1[] = new Class[] {iface};

您正在使用具有未参数化 Class 类型的原始类型。

这里

Object o2[] = new Class<?>[] {iface};

您正在使用参数化的 Class 类型但带有通配符。

既不会影响可以进入数组的内容。

由于您的引用是 Object[] 类型,您无论如何都不能依赖任何进一步的类型安全,因此它们是等价的。

Vulcan, in the comments,提出了一个很好的观点,原始类型将在编译期间为您创建警告。你可能想避免这种情况。

关于java - Java中的 'new Class[] {iface}'和 'new Class<?>[] {iface}'是一样的吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22189356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com