2015-02-09 67 views
0

類的構造函數的文檔:日食不會讓我訪問構造

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」對象。 我做錯了什麼? 可能文檔過時了嗎?

謝謝:)

+1

並且int是一個BigDecimal? – zubergu 2015-02-09 08:21:46

回答

3

你傳入整數作爲第二個參數的構造函數和你的構造函數需要一個BigDecimal對象。 Bigdecimal與整數不一樣。所以,你可能想打電話給你的構造爲:

GenerateNextNumberRequest nnRequest = new GenerateNextNumberRequest(NextNumberTypeEnum.RMANUMBER, BigDecimal.ONE); 
+0

謝謝! :) 確切的解決方案。感謝您的解釋。 – OddDev 2015-02-09 08:36:30

0

變化1new BigDecimal(1)而實例或BigDecimal numberOfValuesint numberOfValues在構造函數

0

1(構造函數中的第二個參數)不是BigDecimal。請參閱文檔。 here

0

構造函數的第二個參數是類BigDecimal的對象。但是,您將字面值1,它默認爲基本類型int。這是不匹配的。

如果你想這樣,你應該/可以調用BigDecimal(1)的構造函數作爲參數。

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) 
1

第二參數應該是BigDecimal對象。你正在傳遞一個int。修正這樣的:

GenerateNextNumberRequest nnRequest = new GenerateNextNumberRequest(NextNumberTypeEnum.RMANUMBER, new BigDecimal(1));