java - 如何使 Java 方法变得通用?

标签 java generics methods

我目前正在开发一个项目,我必须使一些方法通用(以使代码更具可读性)。

项目有两个类:BoxMyList 。 “Box”的构造函数接受通用参数; 'MyList' 的构造函数只有一个。

public class Box<A, B> {}

这是盒子的类。

public class MyList<T> {}

这就是 MyList 的类。

在“Box”类中,我有一个如下所示的方法:

public static MyList enclose (Box <MyList <Integer, String>> t) {
// Here comes some code that is not important right now.
}

我现在想要的是使这个方法通用,以便它不仅接受像 Box 这样的参数。有人有想法吗?

最佳答案

尚不完全清楚您想要做什么,并且通用参数的数量与您的类不匹配,但也许这可以工作?

public <T> static MyList<T> enclose (Box <MyList <T>, String> t) {
// Here comes some code that is not important right now.
}

或者,如果您想避免谈论 MyList,也许是这样:

public <T> static T enclose (Box <T, String> t) {
// Here comes some code that is not important right now.
}

第二个版本将 Box 对象的第一个泛型参数的类型作为其返回类型...

关于java - 如何使 Java 方法变得通用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14254965/

相关文章:

java - Java 中的哪个 API 用于文件读取以获得最佳性能?

java - 如何在不修改应用程序的情况下拦截客户端的 EJB 调用?

ruby-on-rails - Rails 方法忽略默认参数 - 为什么?

java - CriteriaBuilder 查询在两列之间使用 Like

java - 在 Java 中处理资源文件以便它们在 Eclipse 中工作并打包到 jar 中的最佳方法是什么?

delegates - 使用 Ninject 进行惰性泛型委托(delegate)初始化

generics - 参数类型 `T` 可能活得不够长

C# 访问 T 的静态成员

java - 为什么 println 不显示 - Java

java - 方法无法应用于给定类型必需 : int. 找到:无参数