2016-09-08 3 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. 

Любая помощь, как решить эту ошибку. Должен ли я ошибочно полагать эту критическую ошибку в качестве markd сонаром.?

ответ

0

BigDecimals является неизменным. Поэтому add() - это метод, который возвращает новыйBigDecimal с требуемым значением. Ваш код игнорирует результат, а total не будет изменен, а это значит, что ваш код, как есть, ничего не делает. Выполните следующие действия:

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