如何在Java中创建泛型方法?

2022-09-03 06:25:32

我有以下方法:

public static void update(String name) {
    CustomTextType obj = findByName(name);
    ...
}

我想使它成为一个通用方法,这样我就不需要为每个新的自定义类型编写新代码。我可以这样做,这需要在调用 update() 之前实例化对象:

public static void update(String name, Object obj) {
    obj = findByName(name);
    ...
}

出于好奇,我想知道是否有一种方法可以使用Java泛型来做到这一点:

// note: this is an example and does not work
public static void update(String name, <T> type) {
    type var = findByName(name);
    ...
}

有没有办法在Java中实现这一点?


答案 1
public static <T> void update(String name, T type) {
    //logic dealing with `T`.
}

请注意,在这种情况下,这将是可重用的。要么(其本身包括可以从中获得的)要么本身已被传递。TFoo<T>Class<T>instanceOfT.getClass()T


答案 2

推荐