java.lang.NullPointerException:第二个元素为null

时间:2019-04-13 06:36:38

标签: android nullpointerexception observable rx-java rx-java2

活动中:

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:第二个元素为null

数组中有值

number = {75.0,40.0}

1 个答案:

答案 0 :(得分:1)

您正在分配一个大小为33的Double数组。执行此操作时,您将得到一个大小为33的数组,每个元素都等于null。因此,位置2上的元素是null,与其他元素一样,除了要分配的位置0和1上的元素。
RxJava2不支持流中的null值,因此会引发该异常。