【发布时间】:2011-01-29 14:40:54
【问题描述】:
我正在使用这样的泛型:public class MyList<T>。有什么办法可以保证T代表的类实现了某个静态方法?
【问题讨论】:
-
@Kirk Woll:我试图避免必须子类化东西或必须声明真正应该是静态的非静态方法。同时,我希望使用泛型使我的代码尽可能简洁。
-
@user,我的意思是,即使您可以添加这样的约束,这也毫无意义,因为您无法在通用 @ 中使用该功能首先是 987654323@。您将无法从泛型列表中调用这些静态方法——您无法通过泛型参数对静态成员执行任何操作。
-
恕我直言,您的方法不应该是静态的。即使您需要一个方法为每个实例返回相同的值并且根本不使用
this,它也不应该是静态的(我花了很长时间才理解)。事实上,静态方法的用途很少。 -
@Kirk Woll:基本上,我有一些非常相似的课程。这些类的一部分是检查给定的字符串是否与所需的格式匹配。我使用静态方法进行检查。我目前正在使用泛型实现这些类。所以我必须以某种方式检查格式。我显然可以使格式检查方法非静态,但我正在寻找更优雅的解决方案。
-
为什么什么?也许stackoverflow.com/questions/3251269/… 能帮上忙?