我在C#项目中有一个看起来像这样的方法
public T AddEC<T>() where T : EntityComponent, new() {
if (!HasEC<T>())
{
T nComponent = new T();
}
}
现在我刚刚开始正常使用Java Generics,但我不知道我是如何移植这样的方法,或者如果由于语言限制它甚至可能有人帮忙?
答案 0 :(得分:2)
这是一篇非常好的文章。
http://www.jprl.com/Blog/archive/development/2007/Aug-31.html
从那个来源
使用“mini”指定Java类型和方法约束 表达语言“在'&lt;'中和'&gt;'声明泛型类型 参数。对于具有约束的每个类型参数,语法 是:
TypeParameter ListOfConstraints
其中
ListOfConstraints
是'&amp;' - 其中一个的分隔列表 以下约束:
- 在Generic上指定基类或已实现的接口 使用以下命令键入Argument:extends BaseOrInterfaceType
('&amp;'必须用'代替','因为','分隔每个通用名称 类型参数。)
答案 1 :(得分:2)
这是一个例子
class GenericClass<T extends Number & Comparable<T>> {
void print (T t) {
System.out.println (t.intValue ()); // OK
}
}
在这个例子中,Number和Comparable是它们出现在C#类声明的where子句中的约束。