为什么这个字符串在我的方法中未定义?

Why is this String undefined in my method?

这是我的方法

public String isOpen() {
    if (fridge.isOpen()) {
        return String("The refrigerator is open.");
    }
}

我在 return 行收到此错误。 The method String(String) is undefined for the type Kitchen

我不明白为什么 String 是未定义的。它不是 java 的通用部分,它不在乎你是否在一个名为 Kitchen 的 class 中吗?

String不是一个方法,是一个class。所以,如果你想 return 一个字符串,你必须使用 class 字符串的构造函数,或者使用更简单的方法,只需 return “”之间的文本。

所以,而不是

return String("The refrigerator is open.");

return "The refrigerator is open.";

希望对您有所帮助:)

您正在尝试 return 一个新字符串,对吗?调用构造函数时,需要使用关键字 "new"(效果很好,对吧?)。

return new String("The refrigerator is open.");

即使您的目标在技术上是正确的,Java 也为此类事情提供了一些语法糖(违反语言约定的语法,使它对人们更好),因此您可以只写:

return "The refrigerator is open.";