java - java中扩展多个类的泛型

标签 java generics

我有两个类:User 和 UserDto。它们很相似,例如:

User {
int id;
get\set}

UserDto{
int id;
get\set}

我有一个方法,我们可以称之为 doSmth()。 有没有一种方法可以使此方法与两个此类一起作为输入参数(如 doSmth(User user)\doSmth(UserDto user))而不重载它?

我尝试使用像这样的泛型

    public <T extends User & UserDto> void doSmth(T user){
  System.out.println(user.getId);
}

但是这不起作用。例如,方法执行简单的事情,例如

最佳答案

有。创建一个声明 anOperation 方法的接口(interface) IUser,使 UserUserDto 实现相同的接口(interface),然后doSmth(IUser) 可以接受 UserUserDto 调用方法 anOperation

关于java - java中扩展多个类的泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56544465/

相关文章:

java - 如何从首选项中的 AlertDialog 获取值

java - 单击后退按钮会导致强制关闭/NullPointerException

c# - new() 的通用类型约束和抽象基类

java - 泛型:如何在 Map 中强制执行键和值之间的限制

java - 如何让JSP调用Servlet更安全?

java - 谷歌 gson fromjson() TypeToken

Java:比 String(byte[]) 更快的替代品

typescript - 如何在泛型函数类型中拥有可选参数类型?

c# - 派生类定义的基类集合

swift - 将类型从类型数组传递到泛型方法