我正在寻找一种方法来返回嵌套在泛型类中的枚举类型。我的意思是:
public interface MapperClass<E, D> {
D entityToDto(E entity);
default List<D> entitiesToDto(List<E> entities) {
return entities.stream()
.map(this::entityToDto)
.collect(Collectors.toList());
}
D.Enum mapString(String str);
}
换句话说,我的方法mapString()
应该返回嵌套在泛型类型D
中的枚举,有没有办法在Java中实现这一点?
可能是这样的:
public interface MapperClass<E extends Enum<Test.TestEnum>, D extends Test> {
E mapString(String a);
..
}
你的测试
课程:
public class Test {
..
enum TestEnum{
A,B,C; //for demonstration purpose
}
..
}
接口实现示例:
MapperClass<Enum<Test.TestEnum>, Test> a=new MapperClass<Enum<Test.TestEnum>, Test>() {
..
@Override
public Enum<Test.TestEnum> mapString(String a) {
return Test411.A;
}
..
}
现在我希望以泛型的方式使用这些类。 如何从方法“method1”和“method2”返回泛型类型(可以是猫或狗)。我有几个返回“T extends Animal”的方法,所以最好在方法级别或类级别中声明泛型类型。
Java中是否有一种方法可以通过一个方法的声明返回不同的类型? 我希望此方法返回一个对象,并在函数调用时将其转换为正确的类型。这就是我的想法,但它不是这样工作的。我是否需要某种通用返回类型来执行此操作?解决这个问题的最佳方法是什么?
问题内容: 我想到的是一个涉及嵌套枚举的数据结构,因此我可以执行以下操作: 如果有方法声明: 然后我可以说(适当): 这是我想出的: 和界面: 我想我只是想用Java来完成这种事情的最佳方法,或者是否需要编写一堆if语句来处理单个Drink.values()。有什么帮助吗? 问题答案: 首先,您提供的示例代码在某种程度上违反了“德米特律”-因为COLUMBIAN实例字段仅用于检索标签。同样,通过这
我有由OpenAPI制作的带有Mybatis和Rest API的SpringBoot应用程序,这是我的swagger文件: 这是我的控制器代码: 以下是生成的模型: 当我像这样使用time-MyData时,结果得到null: 当一些数据是字符串类型时,我从数据库中获取一些正常数据。这里使用对象类型的正确方法是什么?
问题内容: 背景 我曾经写过这种方法: 应该这样称呼它: 这很好用(尽管我在研究当前容易出错的问题时在这里的答案中已经看到)。 目前的情况 无论如何,现在我正在编写以下代码(在扩展javax.servlet.jsp.tagext.TagSupport的类中): 目的是可以这样称呼: 我的评估方法中的代码显然不起作用。的第二个参数应该是Class对象。这导致我: 我的问题 如何获得通用(返回)类型的
问题内容: 我想在嵌套的静态接口中使用泛型类。我的目标是做这样的事情: 但是我得到一个错误:无法对非静态类型T进行静态引用。如果进行一些更改(如下所述),我可以在接口内部使用泛型,但是我想避免使用此方法,因为编写同一个类两次:一次用于MyClass,一次用于MyInterface。 谢谢。 编辑 :我想这样做: 要么 问题答案: 静态嵌套类或嵌套接口(顺便说一句,始终是静态的)与其外部类(或接口)