java中的方法重载错误
你好,我正在建立一个书店,我收到了这个错误消息java中的方法重载错误,java,overloading,Java,Overloading,你好,我正在建立一个书店,我收到了这个错误消息 Duplicate method getApparel(String) in type Bookstore 服装是这些方法中的一类。我该如何解决这个问题。Eclipse建议将其重命名 public Apparel getApparel(String id) { for(int i=0; i < apparel.size(); i++) { if(apparel.get(i).getId().equals(id
Duplicate method getApparel(String) in type Bookstore
服装是这些方法中的一类。我该如何解决这个问题。Eclipse建议将其重命名
public Apparel getApparel(String id)
{
for(int i=0; i < apparel.size(); i++)
{
if(apparel.get(i).getId().equals(id))
{
return apparel.get(i);
}
}
return null;
}
public ArrayList<Apparel> getApparel(String name)
{
ArrayList<Apparel> apparel = new ArrayList<Apparel>();
for(int i=0; i < this.apparel.size(); i++)
{
if(this.apparel.get(i).getName().equals(name))
{
apparel.add(this.apparel.get(i));
}
}
return apparel;
}
public Apparel getApparel(字符串id)
{
对于(int i=0;i
类似这样的内容:
public Apparel getApparelById(String id)
{
for(int i=0; i < apparel.size(); i++)
{
if(apparel.get(i).getId().equals(id))
{
return apparel.get(i);
}
}
return null;
}
public ArrayList<Apparel> getApparelByName(String name)
{
ArrayList<Apparel> apparel = new ArrayList<Apparel>();
for(int i=0; i < this.apparel.size(); i++)
{
if(this.apparel.get(i).getName().equals(name))
{
apparel.add(this.apparel.get(i));
}
}
return apparel;
}
公共服装getApparelById(字符串id)
{
对于(int i=0;i
在Java中,同一类中不能有多个方法具有相同的方法名、相同的参数类型和计数-在此上下文中不考虑不同的返回值
要解决此问题,必须重命名其中一个方法,或者添加或更改参数,使其唯一。两个方法具有相同的参数类型,但返回类型不同,这是不可能的。发件人:
如果两个方法具有相同的名称和参数类型,则它们具有相同的签名。
如果两个方法具有不同的参数类型,则可能。两个方法getApparel(String)具有相同的方法签名!java和C++禁止用相同的方法签名的多个方法。否则,编译器将无法识别要调用的方法 方法签名由以下内容标识:方法名称+方法参数列表(类型列表)。编译器不按返回类型区分方法
有关详细信息,请参阅:您可能可以使用Linq简化For循环。