加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 获取“真实”类的通用类型

发布时间:2020-12-14 17:44:49 所属栏目:Java 来源:网络整理
导读:如何获得通用类型的“真实”类? 例如: public class MyClassT { public void method(){ //something System.out.println(T.class) //causes a compile error,I wont the class name //something }} 如果T =整数 输出: java.lang.Integer 如果T = String
如何获得通用类型的“真实”类?

例如:

public class MyClass<T> {
    public void method(){
        //something

        System.out.println(T.class) //causes a compile error,I wont the class name

        //something
    }
}

如果T =整数

输出:

java.lang.Integer

如果T = String

输出:

java.lang.String

谢谢

解决方法

如果您的类中有一个类型为T的实例变量,并且恰好被设置,那么可以打印该变量的类.
public class Test<T> {

    T var;

    public static void main(String[] args) {
        Test<Integer> a = new Test<Integer>();
        System.out.println(a.boo());
        a.setVar(new Integer(10));
        System.out.println(a.boo());
    }

    public String boo() {
        if (var == null) {
            return "Don't know yet";
        }
        return var.getClass().getSimpleName();
    }

    public void setVar(T var) {
        this.var = var;
    }

    public T getVar() {
        return var;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读