为啥我不能为另一个类提取方法?
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())
【讨论】:
以上是关于为啥我不能为另一个类提取方法?的主要内容,如果未能解决你的问题,请参考以下文章