2016-09-08 36 views
0

Analog of StringBuilder for BigDecimalBIGDECIMAL替代喜欢的StringBuilder

我检查这个链接已经但是我运行声纳,它给严重错误下面几行:

..... 
BigDecimal total = new BigDecimal(0); 

for (int loop = 0; loop <= 30; loop++) { 
    switch (loop) { 
     case 0: total.add(new BigDecimal(StringValue here)); break; 
     case 1: total.add(new BigDecimal(stringValue here)); break; 
     case 2: total.add(new BigDecimal(stringValue here)); break; 
     //... and so on. 

任何帮助如何解决这个错误。我必须通过声纳标记误报这一严重错误。?

回答

0

BigDecimals不可变的。因此,add()是返回新的BigDecimal与所需的值的方法。您的代码会忽略结果,并且total将不会更改,这意味着您的代码不会变得太简单。做类似下面的事情:

switch (loop) 
{ 
    case 0: total = total.add(new BigDecimal(whatever)); break; 
    // etc...