这是我的问题。我希望有一个带有私有构造函数的类,可以使用多个静态方法创建,就像Box.createHorizontalBox()
一样。它变得复杂的地方是这个类使用泛型。
请告诉我如何正确地做到这一点:
private WorkFlow(int _arrowSize) {
this.arrowSize = _arrowSize;
this.elements = new ArrayList<T>();
}
public static WorkFlow<T> createHorizontalWorkFlow<T>(int _arrowSize) {
WorkFlow<T> workFlow = new WorkFlow<T>(_arrowSize);
workFlow.vertical = false;
return workFlow;
}
这不起作用:Eclipse从int
下划线createHorizontalWorkFlow<T>(int _arrowSize)
,并向我显示错误Syntax error on token(s), misplaced construct(s)
答案 0 :(得分:5)
试试这个:
public static <T> WorkFlow<T> createHorizontalWorkFlow(int _arrowSize) {
WorkFlow<T> workFlow = new WorkFlow<T>(_arrowSize);
workFlow.vertical = false;
return workFlow;
}
你非常接近。只是将<T>
置于错误的位置 - 您必须在返回类型之前声明泛型类型。