gpt4 book ai didi

java - 使用 Java 的数组中元素的索引

转载 作者:太空狗 更新时间:2023-10-29 22:31:42 25 4
gpt4 key购买 nike

Java 中的以下代码返回 -1。我认为它应该返回 3。

int[] array = {1,2,3,4,5,6}; 
System.out.println(Arrays.asList(array).indexOf(4));

你能帮我理解这个函数是如何工作的吗。

谢谢

最佳答案

在 Java 5 之前,Arrays.asList 用于接受 Object[]。当泛型和可变参数被引入语言时,这被更改为

public static <T> List<T> asList(T... arr)

在您的示例中,T 不能是 int,因为 int 是原始类型。不幸的是,签名与等于 int[]T 相匹配,这是一个引用类型。结果是您最终得到一个包含数组的 List,而不是整数的 List

在 Java 4 中,您的代码不会被编译,因为 int[] 不是 Object[]。不编译比产生奇怪的结果更可取,在 Effective Java 中,Josh Bloch 说将 asList 改造为可变参数方法是一个错误。

关于java - 使用 Java 的数组中元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31736220/

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