作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 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/
我是一名优秀的程序员,十分优秀!