如何检查id字符串是否为空,然后在androidstudio中放置一个define默认值if为空

3b6akqbq  于 2021-06-30  发布在  Java
关注(0)|答案(3)|浏览(298)

这是一个出租车应用程序,用户得到的旋转(轴承)的司机是工作良好的设备除外,没有旋转(轴承),如图所示
如果驱动程序设备没有这个功能,那么用户将得到一个错误和应用程序崩溃
所以我的问题是如何通过检查sting是否为空来避免这个问题,如果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;
   }

这就是错误
在此处输入图像描述

7dl7o3gd

7dl7o3gd1#

可以使用inline if->bearing.isempty()?“0”:bearing;

nvbavucw

nvbavucw2#

假设字符串为空, 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()` ).
yeotifhr

yeotifhr3#

public String getBearing() {

   String defaultValue = "0";
   String result;

   if(bearing == null || bearing.trim().isEmpty()) {
       result = defaultValue;
   } else {
       result = bearing;
   }
   return result;
}

相关问题