鉴于标题:
public boolean equals(Name otherName)
我应该比较两个名字对象是否相等。我现在拥有的是:
public boolean equals(Name otherName){
return (name1.equalsIgnoreCase(name2));
}
但是,我得到一个标识符预期错误。我认为如果我更改参数但分配要求我使用该标题会有效。我做错了什么?
这是名称构造函数:
public Name (String first, String middle, String last){
firstName = first;
middleName = middle;
lastName = last;
}
答案 0 :(得分:0)
你得到“获得标识符预期错误”。因为定义了name1
和name2
。在内部equals方法中,您传递另一个对象,因此将其引用为otherName
,对象本身可以this
访问。
尝试
public boolean equals(Name otherName) {
return (otherName.equalsIgnoreCase(this));
}
或
public boolean equals(Name otherName) {
return (equalsIgnoreCase(otherName));
}
当然,您应该为equalsIgnoreCase
课程实施Name
。