//=================================================================================================
public class GenericArraySum {
//-------------------------------------------------------------------------------------------------
    public static void main(String[] args) {

        Integer[] intArray = { 1, 2, 3, 4, 5 };
        Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4 };

        System.out.println("The int array sum is " + sumArray(intArray));
        System.out.println("The double array sum is " + sumArray(doubleArray));
    }
//-------------------------------------------------------------------------------------------------
    private static <E extends Number> E sumArray(E[] arrayToSum) {

        int index;
        Double total = 0.0;

        for (index = 0; index < arrayToSum.length; index++) {
            total += arrayToSum[index].doubleValue();
        }
        return((E)total);
    }
//-------------------------------------------------------------------------------------------------
}
//=================================================================================================
