我有以下方法:
public static void update(String name) {
CustomTextType obj = findByName(name);
...
}
我想使它成为一种通用方法,这样我就不需要为每个新的自定义类型编写新代码。我可以这样做,这需要在调用update()之前实例化对象:
public static void update(String name, Object obj) {
obj = findByName(name);
...
}
出于好奇,我想知道是否有办法使用Java Generics做到这一点:
// note: this is an example and does not work
public static void update(String name, <T> type) {
type var = findByName(name);
...
}
有没有办法在Java中实现这个目标?
答案 0 :(得分:12)
public static <T> void update(String name, T type) {
//logic dealing with `T`.
}
请注意,T
在这种情况下可以恢复。 Foo<T>
(其本身包含Class<T>
可以从instanceOfT.getClass()
获得)或T
本身已被传入。