operator!=不能应用于double,null

时间:2018-06-11 10:30:27

标签: android null double latitude-longitude uber-api

我在下面的代码中收到错误:

  HashMap map = new HashMap();
  map.put("driver", userId);
  map.put("customer", customerId);
  map.put("rating", 0);
  map.put("timestamp", getCurrentTimestamp());
  map.put("destination", destination);
  map.put("location/from/lat", pickupLatLng.latitude);
  map.put("location/from/lng", pickupLatLng.longitude);
  map.put("location/to/lat", destinationLatLng.latitude);
  map.put("location/to/lng", destinationLatLng.longitude);
  map.put("distance", rideDistance);
  historyRef.child(requestId).updateChildren(map);

他们说要补充:

执行 if(pickupLatLng.latitude!= null&& pickupLatLng.longitude!= null&& destinationLatLng.latitude!= null&& destinationLatLng.longitude!= null)在创建hashMap之前,或者为每个纬度和经度。

但是当我尝试这个时,我收到以下错误:operator!=无法应用于double,null

有人能帮助我吗?

3 个答案:

答案 0 :(得分:1)

double 是原始类型,不能为null,而是可以使用 Double 然后将其与null进行比较

答案 1 :(得分:1)

我猜纬度或经度是好的,你的pickupLatLng或destinationLatLng为空并给你NPE所以我认为你必须使用这个代码

ActionsVimeo.forceAutoplay();

答案 2 :(得分:-1)

首先,Java double不能为null,并且不能与Java null进行比较。 (double类型是基本类型(非引用)类型,基元类型不能为null。)

试试这个,

if( pickupLatLng.latitude != 0 && pickupLatLng.longitude != 0 && destinationLatLng.latitude != 0 && destinationLatLng.longitude != 0)