gpt4 book ai didi

java - 如何在 Java 中获取泛型数组的值?

转载 作者:行者123 更新时间:2023-11-30 11:02:34 24 4
gpt4 key购买 nike

我想在 Java 中获取泛型类成员(数组)的实际值。我用谷歌搜索了几个小时,但没有找到明确的答案。老实说,我是 Java 和这些通用内容的新手。

public class Box<T> {
private T t;

public Box(T t) { this.t = t; }

public void getTheT() {
// get the value of t at index 0
System.out.println(this.t[0]); // this doesn't work
}
}

public class App {
public static void main(String[] args) {
Integer[] Arr = {2,3,4};
Box<Integer[]> i = new Box<Integer[]>(Arr);
i.getTheT();

}
}

我已经更新了我的问题。也许这次更清楚了。如何获取t的原始值?

最佳答案

您应该简单地将 t 转换为其原始类型 Integer[],如下所示:

public class Box<T>{
private T t;

public Box(T arr){this.t = arr; } // you forget this semi-colon

public void getTheT(){
// get the value of t at index 0
if(t.getClass() == Integer[].class){
System.out.println("t[0]:"+((Integer[])t)[0]); // prints 2
}
else
System.out.println(t);
}

}


public class App{
public static void main(String[] args){
Integer[] Arr = {2,3,4};
Integer i1 = 3;
Box<Integer> i = new Box<Integer>(i1);
i.getTheT();
Box<Integer[]> ia = new Box<Integer[]>(Arr);
ia.getTheT();

}
}

关于java - 如何在 Java 中获取泛型数组的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30712527/

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