有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java中扩展多个类的泛型

我有两个类: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);
}

但它不起作用。例如,方法做一些简单的事情


共 (1) 个答案

  1. # 1 楼答案

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