java - 缺少返回声明错误

标签 java if-statement return runtime-error

以下 Java 无法运行,因为它缺少 return 语句。我不知道出了什么问题。有什么想法吗?

public String setusername(String u) {    
    if (username.length() > usernameLimit) {
        System.out.println("overlimit");
    } else {
        return this.username = u;
    }
}

即使我取出字符串 u 它也会给出相同的错误,如果我添加 int usernameLimit 它也会给出相同的错误。

最佳答案

您的代码使用分支(if 循环)。从编译器的角度来看,两个分支(即 if 和 else block )都可能被执行。 但返回仅在 else block 中。 因此编译器提示缺少返回。

解决方案1:尝试将 return 也放入 If block 中(根据您的要求)

解决方案2:将返回值移出 If-Else 结构。您可以使用变量来指定返回值,并在 if 或 else 中相应地填充它。

关于java - 缺少返回声明错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15727863/

相关文章:

java - Android Froyo 设置铃声

java - 如何对 Reducer 输出进行排序?

javascript - jQuery if 语句中的多个条件

vba - 为什么 If Not IsEmpty 不过滤掉空字符串?

c++ - 函数返回值的顺序

return - 是否在 for() 内的 if() 内返回 - 从 if() 或 for() 返回?

java - 通过 XML 将属性注入(inject) Spring Rest Controller

java - IndexReader.getFieldNames Lucene 4

r - 处理同一日期发生的值

arrays - 使用 lodash 按值(整数)对数组进行排序