java方法传入一个User.class,返回User对象
时间: 2023-07-25 12:10:33 浏览: 50
可以使用Java反射机制来实现传入一个User类,返回User对象的方法。具体代码如下:
```java
public User getUser(Class<User> userClass) throws Exception {
// 通过反射创建User对象
User user = userClass.getDeclaredConstructor().newInstance();
// 设置User对象的属性值
user.setName("Tom");
user.setAge(20);
// 返回User对象
return user;
}
```
在上述代码中,我们首先使用传入的User类对象获取到它的构造函数,然后通过构造函数创建一个User对象。接着,我们设置了User对象的属性值,最后返回了这个User对象。注意,getUser方法需要抛出异常,因为使用反射机制时可能会出现一些异常情况。
相关问题
java写一个公共泛型方法,返回参数传入的实体对象
可以使用Java的泛型方法来实现返回参数传入的实体对象。具体实现代码如下:
```java
public class GenericMethod {
public static <T> T getEntity(T entity) {
return entity;
}
}
```
在上面的代码中,我们定义了一个泛型方法`getEntity`,传入一个泛型参数`T`,返回类型也是泛型类型`T`,直接返回传入的`entity`对象即可。使用示例代码如下:
```java
public class Test {
public static void main(String[] args) {
// 定义一个User对象
User user = new User();
user.setId(1);
user.setName("test");
// 调用getEntity方法返回User对象
User result = GenericMethod.getEntity(user);
// 输出返回的User对象
System.out.println(result);
}
}
class User {
private Integer id;
private String name;
// 省略getter和setter方法
}
```
运行上面的代码,可以看到输出的结果为`User{id=1, name='test'}`,说明泛型方法返回实体对象成功。
new BeanListHandler<User>(User.class)
new BeanListHandler<User>(User.class)是一个泛型类的实例化对象,使用了泛型技术。它是Apache Commons BeanUtils组件中的一个类,用于将ResultSet对象转换为Java Bean对象的List集合。在这个示例中,它的泛型参数为User.class,表示将ResultSet中的每一行数据转换为一个User对象,并将这些对象放入一个List集合中。当调用ResultSetHandler的handle方法时,会将ResultSet对象作为参数传入BeanListHandler的构造函数,然后BeanListHandler会自动将ResultSet中的数据转换为User对象的List集合。使用BeanListHandler可以大大简化Java程序中ResultSet对象的处理,提高程序的开发效率。