Jor*_*nks 2 java generics interface return-type
我正在尝试创建一个框架。
该框架用于在内部解析来自互联网的数据,并将其提供给框架(API)的用户
每个例子:
现在这一切都很棒,因为他们可以访问用户,但我希望使用该框架的人能够自己实现用户。
我不想让他们做一堆包装。
使用我的框架的人应该能够将“BasicUser”更改为用户创建的类(它实现“User”)。
(should be able to change "BasicUser"-> 无法更改类本身,而是将为新用户创建的对象的类更改为不同的“用户”实现)
是否可以在不使用反射的情况下做到这一点?
传递给监听器的“用户对象”是否也可以使用泛型自动转换为框架用户提供的类?
传入该类型的任一实例,例如
<T> T getResult(T instance) { ... }
Float result = getResult(Float.valueOf(1.0f));
Run Code Online (Sandbox Code Playgroud)
或用返回类型参数化的泛型类型,例如
<T> T getResult(Class<T> clazz) { ... }
String result = getResult(String.class);
Run Code Online (Sandbox Code Playgroud)
或使用参数化列表
<T> T getResult(List<T> list) { ... }`.
List<Integer> list = new ArrayList<>();
Integer result = getResult(list);
Run Code Online (Sandbox Code Playgroud)