gpt4 book ai didi

java - 从数组实例调用 get(数组静态方法)

转载 作者:行者123 更新时间:2023-11-30 05:35:41 28 4
gpt4 key购买 nike

Java 和 OOP 新手。我正在做在线 Lynda 类(class),类(class)中有一个使用 Array.get 从数组中提取第二项的示例:

String[] myFavoriteCandyBars = {"Twix", "Hershey's", "Crunch"};
System.out.println(Array.get(myFavoriteCandyBars, 2));

讲师解释说 get 是“Array”类的静态方法。

但是当我尝试定义时:

 `Array[] testarray = new Array[10];`

并使用:

 `testarray.get(testarray[10]);`

我收到一个错误: 无法解析方法“get(java.lang.reflect.Array)”

但我不明白为什么 - testarray 是 Array 类的对象,而 Array 类有一个方法“get”,所以虽然这是不好的做法,但为什么我不能这样做?

最佳答案

Array class 是仅包含公共(public)静态方法的内部 Java 类,其预期用途是不直接实例化。代码如下:

testarray.get(testarray[10]);

失败,因为 testarray 的类型为 Array[],而不是 Array,因此没有静态方法 get( ) 可用。假设而言,如果您可以在实例上调用 Array#get,它应该可以工作,但如上所述,Array 无法实例化。

使用Array的更典型方法如下:

String[] testarray = new String[10];
testarray[1] = "Snickers";
System.out.println(Array.get(testarray, 1));

也就是说,创建一个所需类型的数组,然后使用 Array#get 来访问您想要的任何元素。

关于java - 从数组实例调用 get(数组静态方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56678987/

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