Произведение чисел, заданных одномерным массивом

Возвращает произведение чисел, заданных одномерным массивом array. Для пустого одномерного массива возвращает 0. хоть убей не понимаю что не так.

public int mul(int[] array) {
        int x = 1;
        for (int i = 0; i < array.length; i++) {
            x *= array[i];
        }
        if (x==0){
            return 0;
        }  else {
            return x;
        }
    }

Ответы (2 шт):

Автор решения: hellomoto

сам нашел ответ.

public int mul(int[] array) {
        int x = 1;
        for (int i = 0; i < array.length; i++) {
            x *= array[i];
        }
        if (array.length==0){
            return 0;
        }  else {
            return x;
        }
    }
→ Ссылка
Автор решения: Дмитрий

Это очень сложный код, я бы сделал так:

public static int mul(int... array) {
    return IntStream.of(array).reduce(1, Math::multiplyExact);
}
→ Ссылка