如何解决如何检查id字符串是否为空然后在android studio中定义一个默认值如果为空
这是一个出租车应用程序,用户可以在其中获取驾驶员的旋转(方位) 与没有旋转(轴承)的设备一起工作良好 像这样 Here is the image
如果驱动设备没有这个功能,那么用户会得到一个错误和应用程序崩溃
所以我的问题是如何通过检查 Sting 是否为空来避免这种情况 如果为空,我们必须为其设置一个默认值
这是我的代码
if (icondriver.equals("2")) {
driverMarkers.add(
gMap.addMarker(new MarkerOptions()
.position(currentDriverPos)
.icon(BitmapDescriptorFactory.fromresource(R.drawable.carmap))
.anchor((float) 0.5,(float) 0.5)
---------error line------------->> .rotation(Float.parseFloat(driver.getbearing()))
.flat(true)
)
public String getbearing() {
return bearing;
}
这是错误
解决方法
public String getBearing() {
String defaultValue = "0";
String result;
if(bearing == null || bearing.trim().isEmpty()) {
result = defaultValue;
} else {
result = bearing;
}
return result;
}
,
这假设如果字符串为空,则 0
作为默认的空白值传递。还假设字符串永远不会是 null
。
(...)
rotation(Float.parseFloat(driver.getBearing().trim().isEmpty()?"0":driver.getBearing()))
(...)
parseFloat
将自动 trim()
字符串。但是为了真正检查 isEmpty
是否没有给出假阴性,修剪字符串保证没有只有空格的字符串被传递为有效。如果直接对其调用 String s = " ";
,false
将返回 isEmpty()
,而无需先执行 trim()
操作。
所以,条件 driver.getBearing().trim().isEmpty()?"0":driver.getBearing()
说明:
- 如果字符串为空,则传递
"0"
(或您想要的默认值)。 - 如果不是,则按原样传递字符串值 (
driver.getBearing()
)。
你可以使用 inline if ->bearing.isEmpty()?"0":bearing;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。