Java泛型-类对象作为类型文字
时间:2020-01-09 10:35:59 来源:igfitidea点击:
在运行时,类对象也可以用作类型规范。例如,我们可以创建一个通用的方法,如下所示:
public static <T> T getInstance(Class<T> theClass) throws IllegalAccessException, InstantiationException { return theClass.newInstance(); }
以下是一些调用getInstance()
方法的示例:
String string = getInstance(String.class); MyClass myClass = getInstance(MyClass.class);
如我们所见,返回类型的变化取决于我们将什么类对象作为参数传递给方法。这在数据库API(例如Butterfly Persistence)中非常方便,我们可以从数据库中读取对象。这是一个示例方法定义:
public static <T> T read(Class<T> theClass, String sql) throws IllegalAccessException, InstantiationException { //execute SQL. T o = theClass.newInstance(); //set properties via reflection. return o; }
这是我们调用read()
方法的方式:
Driver employee = read(Driver.class, "select * from drivers where id=1"); Vehicle vehicle = read(Vehicle.class, "select * from vehicles where id=1");