eclipse 不允许我访问构造函数
eclipse won't let me access the constructor
class 构造函数的文档:
Constructor Detail
GenerateNextNumberRequest
public GenerateNextNumberRequest()
Default no-arg constructor
GenerateNextNumberRequest
public GenerateNextNumberRequest(NextNumberTypeEnum nextNumberType,
BigDecimal numberOfValues)
Required Fields Constructor
但是,如果我像这样访问构造函数:
GenerateNextNumberRequest nnRequest = new GenerateNextNumberRequest(NextNumberTypeEnum.RMANUMBER, 1);
Eclipse 显示错误并告诉我删除参数以创建 "GenerateNextNumberRequest" 的对象。
难道我做错了什么?
文档可能已过时?
谢谢 :)
您正在将整数作为第二个参数传递给构造函数,并且您的构造函数需要一个 BigDecimal 对象。 Bigdecimal 与整数不同。所以你可能想调用你的构造函数:
GenerateNextNumberRequest nnRequest = new GenerateNextNumberRequest(NextNumberTypeEnum.RMANUMBER, BigDecimal.ONE);
在实例化时将 1
更改为 new BigDecimal(1)
或在构造函数中将 BigDecimal numberOfValues
更改为 int numberOfValues
1(构造函数中的第二个参数)不是 BigDecimal。请参阅文档。
here
构造函数的第二个参数是 class BigDecimal 的对象。但是,您输入了文字 1,默认情况下它是原始类型 int。那就是不匹配。
如果你想这样做,你 should/could 调用 BigDecimal(1) 的构造函数作为参数。
您没有带参数的构造函数NextNumberTypeEnum nextNumberType, int numberOfValues
GenerateNextNumberRequest nnRequest = new GenerateNextNumberRequest(NextNumberTypeEnum.RMANUMBER, 1);
您必须将构造函数的调用更改为:
GenerateNextNumberRequest nnRequest = new GenerateNextNumberRequest(NextNumberTypeEnum.RMANUMBER, BigDecimal.valueOf(1));
或者将您的构造函数更改为:
public GenerateNextNumberRequest(NextNumberTypeEnum nextNumberType,
int numberOfValues)
第二个参数应该是一个 BigDecimal 对象。您当前正在传递一个 int。像这样解决这个问题:
GenerateNextNumberRequest nnRequest = new GenerateNextNumberRequest(NextNumberTypeEnum.RMANUMBER, new BigDecimal(1));
class 构造函数的文档:
Constructor Detail
GenerateNextNumberRequest
public GenerateNextNumberRequest()
Default no-arg constructor
GenerateNextNumberRequest
public GenerateNextNumberRequest(NextNumberTypeEnum nextNumberType,
BigDecimal numberOfValues)
Required Fields Constructor
但是,如果我像这样访问构造函数:
GenerateNextNumberRequest nnRequest = new GenerateNextNumberRequest(NextNumberTypeEnum.RMANUMBER, 1);
Eclipse 显示错误并告诉我删除参数以创建 "GenerateNextNumberRequest" 的对象。 难道我做错了什么? 文档可能已过时?
谢谢 :)
您正在将整数作为第二个参数传递给构造函数,并且您的构造函数需要一个 BigDecimal 对象。 Bigdecimal 与整数不同。所以你可能想调用你的构造函数:
GenerateNextNumberRequest nnRequest = new GenerateNextNumberRequest(NextNumberTypeEnum.RMANUMBER, BigDecimal.ONE);
在实例化时将 1
更改为 new BigDecimal(1)
或在构造函数中将 BigDecimal numberOfValues
更改为 int numberOfValues
1(构造函数中的第二个参数)不是 BigDecimal。请参阅文档。 here
构造函数的第二个参数是 class BigDecimal 的对象。但是,您输入了文字 1,默认情况下它是原始类型 int。那就是不匹配。
如果你想这样做,你 should/could 调用 BigDecimal(1) 的构造函数作为参数。
您没有带参数的构造函数NextNumberTypeEnum nextNumberType, int numberOfValues
GenerateNextNumberRequest nnRequest = new GenerateNextNumberRequest(NextNumberTypeEnum.RMANUMBER, 1);
您必须将构造函数的调用更改为:
GenerateNextNumberRequest nnRequest = new GenerateNextNumberRequest(NextNumberTypeEnum.RMANUMBER, BigDecimal.valueOf(1));
或者将您的构造函数更改为:
public GenerateNextNumberRequest(NextNumberTypeEnum nextNumberType,
int numberOfValues)
第二个参数应该是一个 BigDecimal 对象。您当前正在传递一个 int。像这样解决这个问题:
GenerateNextNumberRequest nnRequest = new GenerateNextNumberRequest(NextNumberTypeEnum.RMANUMBER, new BigDecimal(1));