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

标签 java generics

我有以下方法:

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 中实现这一点?

最佳答案

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

请注意 T在这种情况下将是可修改的。 Foo<T> (它本身包括可以从 Class<T> 获得的 instanceOfT.getClass() )或 T本身已被传入。

关于java - 如何在 Java 中创建泛型方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18881144/

相关文章:

C# 以 List 作为参数插入到 SQL 表中

java - Java 中 OWLOntology 到 Jena 模型的转换

java - 如何在java中验证图像标题

java - 如何对 jar 中的 .class 文件进行 monkeypatch

swift - 无法从 Swift 中的协议(protocol)扩展调用通用初始值设定项

c# - 为什么我的测试 "propType == typeof(ObservableCollection<string>)"失败了?

c# - ICollection 与 ICollection<T> - ICollection<T>.Count 和 ICollection.Count 之间的歧义

java - 在java中选择随机颜色

java - 如何跳出嵌套循环?

java - 使用上限通配符时不兼容的类型