活动中:
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}
答案 0 :(得分:1)
您正在分配一个大小为33的Double
数组。执行此操作时,您将得到一个大小为33的数组,每个元素都等于null
。因此,位置2上的元素是null
,与其他元素一样,除了要分配的位置0和1上的元素。
RxJava2不支持流中的null
值,因此会引发该异常。