java.lang.NullPointerException: 2-й элемент является нулем - PullRequest
0 голосов
/ 13 апреля 2019

В деятельности:

Double[] numbers = new Double[33];

for (int i = 0; i < array.length (); i++) {
    JSONObject o = array.getJSONObject ( i );
    Double price = o.getDouble ( "totalprice" );
    numbers[i] = price;
}

Observable<Double> observable = Observable.fromArray(numbers);

                        MathObservable
                                .sumDouble(observable)
                                .subscribe(new Observer<Double>() {
                                    @Override
                                    public void onSubscribe(Disposable d) {
                                        Log.d( TAG,d.toString() );
                                    }

                                    @Override
                                    public void onNext(Double aDouble) {
                                        System.out.println("Sum: " + aDouble);
                                        Toast.makeText( getContext() ,aDouble+"" ,Toast.LENGTH_SHORT ).show();
                                        //if you want int convert here
                                    }

                                    @Override
                                    public void onError(Throwable e) {
                                        Log.d( TAG,e.getMessage() );
                                    }

                                    @Override
                                    public void onComplete() {
                                        Log.d( TAG,"complete");
                                    }
                                });

Я хочу узнать общую стоимость, используя RXJava.
Но возникает ошибка:

java.lang.NullPointerException: 2-й элемент является нулевым

В массиве есть значение

число = {75.0,40.0}

1 Ответ

1 голос
/ 13 апреля 2019

Вы выделяете массив Double размера 33. Когда вы делаете это, вы получаете массив размера 33 с каждым элементом равным null.Поэтому элемент в позиции 2 имеет значение null, как и любой другой элемент, за исключением элементов в позициях 0 и 1, которые вы назначаете.
RxJava2 не поддерживает значения null в потоках, поэтому он выдает это исключение.

...