【问题标题】:Overwrite String variable contents if variable is blank [duplicate]如果变量为空,则覆盖字符串变量内容[重复]
【发布时间】:2013-11-25 20:53:54
【问题描述】:

我的某个程序有问题,如下所示:

String degree1 = degree.getText();

if(degree1 == ""){
   degree1 = "Undergrad";}

我希望程序将 textField 中的文本放入变量中,如果该字段为空,则将变量的内容更改为“Undergrad”

每当我测试我的程序时,它都会返回一个空白而不是 'Undergrad'

【问题讨论】:

  • String 值与Stringequals 方法进行比较,而不是== 运算符。
  • 注意,你可以使用if(degree1.isEmpty())
  • 天哪,我在找类似问题的时候没有看到字符串比较问题。对不起,谢谢你的帮助。

标签: java string if-statement jtextfield


【解决方案1】:

这是因为您使用== 进行字符串比较。请改用if ("".equals(degree1))

运算符== 比较引用,即它只为同一对象返回true。如果 2 个对象 相等 但不相同 == 返回 false。这就是为什么类Object 包含方法equals() 可以(并且通常应该)被子类覆盖。

【讨论】:

    【解决方案2】:

    在 Java 中,字符串是使用 String 类的 equals 方法而不是 == 运算符进行比较

    【讨论】:

      猜你喜欢
      • 2019-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-18
      • 1970-01-01
      相关资源
      最近更新 更多