【问题标题】:Boolean If statement only returning outside [duplicate]布尔 If 语句仅返回外部 [重复]
【发布时间】:2016-04-08 05:55:09
【问题描述】:
public static boolean stringToBoolean (String horv) { 
    if (horv == "H") {
        return true;
    } if (horv == "V") {
        return false;
    } else {
        return true;
    }

这是我正在创建的程序的一小部分。该程序正在从文件中读取数据并将数据输入到数组中。对于这一部分,它正在从文件中读取“H”或“V”并将其转换为布尔值。问题是当我运行程序时,我只会对每个值都正确,即使是那些以“V”作为变量的值。

【问题讨论】:

  • 您不能使用“==”运算符比较字符串。
  • 谢谢大家的回复,我是白痴。
  • == 检查对象引用是否相同。 .equals() 比较值

标签: java if-statement boolean


【解决方案1】:

将代码改为:

if ("H".equals(horv)) { return true; }
...

【讨论】:

    【解决方案2】:

    试试这个

    public static boolean stringToBoolean (String horv) { 
        if ("H".equals(horv)) { // use equals method for string comparison 
            return true;
        } if ("V".equals(horv)) {
            return false;
        } else {
            return true;
        }
    

    【讨论】:

      【解决方案3】:

      字符串变量应该与java中的equals()方法进行比较。

      【讨论】:

        【解决方案4】:

        Java 中,您将Stringequals() 方法进行比较,就像这样

        public static boolean stringToBoolean (String horv) { 
          if (horv.equals("H"))  return true;
          if (horv.equals("V"))  return false;
          return true;
        }
        

        【讨论】:

          猜你喜欢
          • 2016-11-08
          • 2014-05-13
          • 2014-12-19
          • 1970-01-01
          • 2011-04-05
          • 2022-12-17
          • 2015-10-17
          • 2022-01-08
          • 2013-03-26
          相关资源
          最近更新 更多