java吧 关注:1,266,060贴子:12,769,069
  • 3回复贴,共1

boolean 和 string 问题

只看楼主收藏回复

private Boolean driver;
public Boolean getDriver(){
return driver;
}
String drivera;
Boolean driverx = true;
public void setDriver(String drivera, Boolean driver){
if ( driver = driverx){
this.drivera = "driver";
}
else{
this.drivera = "no driver";
}
我想在后面setter新设一个string drivera
如果输入的是true就输出driver,false的话就输出no driver
但是为什么我最后得到的结果drivera 是 null啊, 求解


IP属地:北京1楼2021-02-23 16:04回复
    你是先调用了setDriver,再查看drivera的值吗?
    如果你是先查看drivera的值那就是null


    IP属地:浙江2楼2021-02-23 17:31
    回复
      2025-06-25 05:57:01
      广告
      看了一下
      String drivera;
      Boolean driverx = true;
      public void setDriver(String drivera, Boolean driver){
      if ( driver = driverx){
      this.drivera = "driver";
      }
      else{
      this.drivera = "no driver";
      }
      你第一个if里面写的是driver = driverx 由于driverx 初始值是true。
      所以无论你driver传true还是false都会走if分支,drivera 始终都是"driver"
      你应该是少写了一个= 改成if ( driver) 或者if ( driver == driverx) 或者if ( driverx = driver) 都可以
      if ( driverx = driver) 可以同时更新driverx 的值,我原本没发现就是以为你是这样写的


      IP属地:浙江3楼2021-02-23 18:13
      收起回复