班级建设者的文件:
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"的对象。 难道我做错了什么? 文件可能已过时了吗?
谢谢:)
答案 0 :(得分:3)
您将整数作为第二个参数传递给构造函数,构造函数需要一个BigDecimal对象。 Bigdecimal与整数不同。所以你可能想把你的构造函数称为:
GenerateNextNumberRequest nnRequest = new GenerateNextNumberRequest(NextNumberTypeEnum.RMANUMBER, BigDecimal.ONE);
答案 1 :(得分:1)
第二个参数应该是BigDecimal对象。您当前正在传递int。解决这个问题:
GenerateNextNumberRequest nnRequest = new GenerateNextNumberRequest(NextNumberTypeEnum.RMANUMBER, new BigDecimal(1));
答案 2 :(得分:0)
在实例化时将1
更改为new BigDecimal(1)
或在构造函数中将BigDecimal numberOfValues
更改为int numberOfValues
答案 3 :(得分:0)
1(构造函数中的第二个参数)不是BigDecimal。请参阅文档。 here
答案 4 :(得分:0)
构造函数的第二个参数是类BigDecimal的对象。但是,你把文字1,默认情况下是基本类型int。那是不匹配的。
如果你想这样做,你应该/可以调用BigDecimal(1)的构造函数作为参数。
答案 5 :(得分:0)
您没有带参数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)