Java 比较给定方法头的名称?

Java 比较给定方法头的名称?,java,Java,给定标题: public boolean equals(Name otherName) 我应该比较两个名称对象是否相等。我现在得到的是: public boolean equals(Name otherName){ return (name1.equalsIgnoreCase(name2)); } 但是,我得到了一个标识符预期的错误。我认为如果我更改参数,它会起作用,但作业要求我使用该标题。我做错了什么 以下是构造函数的名称: public Name (String first, S

给定标题:

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; 
}
由于定义了
name1
name2
,因此会出现“获取标识符预期错误”。在equals方法中,您传递另一个对象,因此将其称为
otherName
,对象本身可以作为
this
访问

试一试


当然,您应该为
Name
类实现
equalsIgnoreCase

什么是
Name
?它是否有
equalsIgnoreCase
方法?name1和name2在哪里初始化?更好的是,它们是在任何地方初始化的吗?看起来您希望在方法中使用otherName,因为您正在传入它。我感觉您的头可能有问题。很明显,您需要回到基础。无需添加额外的null检查:
this.equalsIgnoreCase(otherName)
。但是,这假定
Name
具有
equalsIgnoreCase
方法。更可能的是,
Name
有一个字符串字段,需要在这里进行相等性比较,但是OP没有包含任何关于字段或方法的信息。我们不知道
equalsIgnoreCase
是如何在这个类中实现的,因此,如果将
null
作为参数传递,我们不能说它一定会阻止NullPointerException(因此空检查不一定没有用处)。不管怎样,仅用给出的信息来回答这个问题确实很难。@A.R.s.同意,但我相信这段代码对OP有用,除非他更新了问题并提供了更多细节。对不起,看看我之前的问题,似乎我添加了太多不必要的信息。这一次,我没有添加足够的内容。public boolean equals(Name otherName){return this.equalsIgnoreCase(otherName);}是现在的样子,但是equalsIgnoreCase给了我一个找不到符号的错误,所以我想我实现错了。@user1740066,请告诉我们Name是如何实现的。我会相应地更新答案。
public boolean equals(Name otherName) {
    return (otherName.equalsIgnoreCase(this));
}
 public boolean equals(Name otherName) {
    return (equalsIgnoreCase(otherName));
}