具有专用构造函数的泛型对象



这是我的问题。我希望有一个带有私有构造函数的类,它可以用多个静态方法创建,就像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在createHorizontalWorkFlow<T>(int _arrowSize)int下面加下划线,并给我错误Syntax error on token(s), misplaced construct(s)

试试这个:

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

你非常接近。只是<T>放错了位置——必须在返回类型之前声明泛型类型

相关内容

  • 没有找到相关文章

最新更新