protected <t> T function()的含义是什么?

时间:2017-04-18 07:13:00

标签: java generics

在查看一些代码时,我发现有以下类型的语法。

 protected <T> T Execute(Class<T> returnType){
    T t;
    return t;
    }

这是什么意思?如果我想将结果保存在其他类的某个变量中该怎么办?

2 个答案:

答案 0 :(得分:2)

已将类型参数添加到T instance = myClass.newInstance(); 以启用Class对象的一个​​特定用途作为类型安全对象工厂。本质上,添加允许您以类型安全的方式实例化类,如下所示:

 int imageResource = ctx.getResources().getIdentifier("@drawable/stck1".replace(".jpg", ""), null,ctx.getPackageName());
 imageview.setImageResource(imageResource);

How to use Class<T> in Java?

答案 1 :(得分:1)

您可以使用newInstance() method

protected <T> T execute(Class<T> returnType) {
    T t = returnType.newInstance();
    return t;
    }

但你必须处理

InstantiationException, IllegalAccessException

虽然这是一种奇怪的,不受欢迎的创建新对象的方法,但AbstractFactory将是一个更好的解决方案。