以下是同一功能的两个实现。第一个是我自己写的,第二个是我在http://developer.android.com/guide/topics/location/strategies.html遇到的。
**1st code:**
private boolean isSameProvider(String provider1, String provider2) {
if (provider1.equals(provider2)) {
return true;
}
else return false;
}
**2nd code:**
private boolean isSameProvider(String provider1, String provider2) {
if (provider1 == null) {
return provider2 == null;
}
return provider1.equals(provider2);
}
答案 0 :(得分:2)
如果参数provider1
为null,则第一段代码可能会抛出NullPionterException。我们在空对象上调用provider1.equals(provider2)
。
第二段代码检查参数provider1
是否为null,如果它确实为null,则检查参数provider2
是否也为空。
如果provider1和provider2都为null,则认为它们是相同的提供者,并且此方法返回true。
答案 1 :(得分:0)
第二个代码对您的应用更安全,因为它会检查以确定<script src="https://maps.googleapis.com/maps/api/js?libraries=drawing&callback=initMap" async defer></script>
<div id="map"></div>
。
然而,如果provider1和provider2在你的应用程序中往往是null,我宁愿写这样的代码:
provider1 == null