为啥我不能为另一个类提取方法?

Posted

技术标签:

【中文标题】为啥我不能为另一个类提取方法?【英文标题】:Why can't I pull a method for another class?为什么我不能为另一个类提取方法? 【发布时间】:2015-02-07 04:12:50 【问题描述】:

我不知道为什么我的编译器有问题。我正在尝试从另一个类中提取一个简单的 get 方法,以定义是否借出一本书。

public String displayBooks()

    for (Book b : book)

        if (b.isLoaned() = false)
            String loan = "Not currently loaned";
        
        else
            String loan = "Currently loaned";
        
        return(book.getTitle() + "       " + book.getAuthor() + "       " );

    


我收到一条错误消息,指出找到值时需要变量。 注意:book 是我存储书籍对象的数组列表的名称。

【问题讨论】:

if (b.isLoaned() = false) ??? 除了你使用book.getTitle()在哪里你应该使用b.getTitle 哎呀。最近改了变量名。 【参考方案1】:

线

b.isLoaned() = false

在应该使用相等运算符的地方使用赋值运算符。赋值需要左侧的左值(变量,而不是值)。

事实上你应该把那部分改写成just

!b.isLoaned()

并且,考虑到更广泛的上下文,您可以考虑以下内容,这将在您修复上述问题后防止等待您的编译器错误:

String loan = (b.isLoaned()? "Currently" : "Not currently") + " loaned";

以上内容替换了您的整个 if-else 块。

【讨论】:

好尴尬。非常感谢:)【参考方案2】:

它会这么说,因为= 是您在下一行中使用的赋值运算符。

if (b.isLoaned() = false)

改成如下:

if (b.isLoaned() == false)

if (!b.isLoaned())

【讨论】:

以上是关于为啥我不能为另一个类提取方法?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能将泛型类型的一个实例转换为另一个实例?

为啥我可以为一个用户上传图库图片,但不能为另一个用户上传?

为啥 PRIVATE 成员函数不能成为另一个类的友元函数?

类不能转换为另一个类

为啥我不能正确使用扩展类的方法?

JAVA:为啥我不能访问同一个类中的方法?