Here you can find the source of add(final BigDecimal start, final BigDecimal... values)
Parameter | Description |
---|---|
start | initial BigDecimal |
values | series of BigDecimals can be null/empty |
public static BigDecimal add(final BigDecimal start, final BigDecimal... values)
//package com.java2s; /*//from ww w.j a v a2 s. c o m * ObjectLab, http://www.objectlab.co.uk/open is sponsoring the ObjectLab Kit. * * Based in London, we are world leaders in the design and development * of bespoke applications for the securities financing markets. * * <a href="http://www.objectlab.co.uk/open">Click here to learn more</a> * ___ _ _ _ _ _ * / _ \| |__ (_) ___ ___| |_| | __ _| |__ * | | | | '_ \| |/ _ \/ __| __| | / _` | '_ \ * | |_| | |_) | | __/ (__| |_| |__| (_| | |_) | * \___/|_.__// |\___|\___|\__|_____\__,_|_.__/ * |__/ * * www.ObjectLab.co.uk * * $Id: AbstractDateCalculator.java 309 2010-03-23 21:01:49Z marchy $ * * Copyright 2006 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ import java.math.BigDecimal; public class Main { /** * Add n BigDecimal safely (i.e. handles nulls) * @param start initial BigDecimal * @param values series of BigDecimals can be null/empty * @return the sum of the n non null BigDecimals */ public static BigDecimal add(final BigDecimal start, final BigDecimal... values) { BigDecimal total = start != null ? start : BigDecimal.ZERO; if (values != null) { for (final BigDecimal v : values) { total = doAdd(total, v); } } return total; } /** * Add 2 BigDecimal safely (i.e. handles nulls as zeros) * @param v1 the nullable BigDecimal * @param v2 the nullable BigDecimal * @return the sum of the 2 BigDecimal */ private static BigDecimal doAdd(final BigDecimal v1, final BigDecimal v2) { BigDecimal total = v1; if (v1 != null && v2 != null) { total = v1.add(v2); } else if (v2 != null) { total = v2; } return total; } }