【发布时间】:2014-08-06 06:54:23
【问题描述】:
public class MyStuff {
String name;
MyStuff(String n) {
name = n;
}
public static void main(String[] args) {
MyStuff m1 = new MyStuff("guitar");
MyStuff m2 = new MyStuff("tv");
System.out.println(m2.equals(m1));
}
public boolean equals(Object o) {
MyStuff m = (MyStuff) o;
if (m.name != null)
return true;
return false;
}
}
当我删除其中一个返回语句时,编译器给出错误:此方法必须返回布尔类型的结果
【问题讨论】:
-
修复缩进会有所帮助。 return true 是一个 CONDITIONAL return,由上面的
if(m.name != null)语句定义。 -
如果你使用java,使用
{}作为if子句! -
if 不需要花括号。但是,如果您不使用它们,则在 if 语句中只考虑下一行。
-
省略 {} 可能会导致以后出现许多错误。我在编辑别人的代码时遇到过很多次。始终使用括号。
-
我认为这是个好问题。他是一个新手,现在他可能是一个更好的新手。