【问题标题】:Should check the method return value?应该检查方法返回值吗?
【发布时间】:2015-12-17 21:50:51
【问题描述】:

我正在尝试在我的程序中实现这个微小的方面,但它真的让我在最小的事情上遇到困难......

txtDay.getText().toUpperCase();
    switch(txtEmployeeID.getText()){
        case "54215":
            switch(txtDay.getText()){
                case "SUNDAY":
                    E54215.set(0, txtHours.getText());
                    break;
                case "MONDAY":
                    E54215.set(1, txtHours.getText());
                    break;
                case "TUESDAY":
                    E54215.set(2, txtHours.getText());
                    break;
                case "WEDNESDAY":
                    E54215.set(3, txtHours.getText());
                    break;
                case "THURSDAY":
                    E54215.set(4, txtHours.getText());
                    break;
                case "FRIDAY":
                    E54215.set(5, txtHours.getText());
                    break;
                case "SATURDAY":
                    E54215.set(6, txtHours.getText());
                    break;   
            }
            break;

NetBeans 在“txtDay.getText().toUppercase()”行给我一个错误,并告诉我“应该检查方法返回值”。

谁能帮我找出为什么会出现这个错误?

【问题讨论】:

  • 在开关中总是有一个默认大小写,除非你打开一个枚举。在这种情况下,我会有一个默认值,它会抛出带有合理消息的 RuntimeException。

标签: java swing switch-statement


【解决方案1】:

这不是错误,而是警告。它表示您没有使用操作的结果。字符串是不可变的,你需要这样的东西:

txtDay.setText(txtDay.getText().toUpperCase());

得到你期望的结果。

【讨论】:

    【解决方案2】:

    改变

    txtDay.getText().toUpperCase();
    

    txtDay.setText(txtDay.getText().toUpperCase());
    

    字符串在 Java 中是不可变的。这意味着 txtDay.getText().toUpperCase(); 实际上不会更改您的 txtDay 组件的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-08
      • 1970-01-01
      相关资源
      最近更新 更多