1

这是我的问题。我想要一个带有私有构造函数的类,它可以用多个静态方法创建,就像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 强调了intfromcreateHorizontalWorkFlow<T>(int _arrowSize)并给了我错误Syntax error on token(s), misplaced construct(s)

4

1 回答 1

5

尝试这个:

public static <T> WorkFlow<T> createHorizontalWorkFlow(int _arrowSize) {
  WorkFlow<T> workFlow = new WorkFlow<T>(_arrowSize);
  workFlow.vertical = false;
  return workFlow;
}

你非常接近。只是在错误的地方 - 您必须在返回类型之前<T>声明泛型类型。

于 2011-06-23T13:09:30.570 回答