----关于类对象作为函数返回值的问题------

Powerliang 2004-08-04 01:21:51
List为一个ArrayList,里面存放的是CLASSNAME类的实例,现在我袄实现的是当某一实例的 name 与给定的参数一致时,就将该实例返回!!!!用下面的方法总是不行,好象是else
的分支语句返回的类型不对,请问应该如何实现!!!!请指教!!!1
public CLASSNAME getBNFRule(String ruleName)
{
for(int leafNum=0; leafNum<List.size(); leafNum++)
{
String leafName = ((CLASSNAME)List.get(leafNum)).getName();
if(leafName.compareTo(ruleName) ==0)
{
return (CLASSNAME)List.get(leafNum);
}
else
{
return null;
}
}
}
...全文
190 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tasia 2004-08-04
  • 打赏
  • 举报
回复
你这样写程序,当for循环执行第一次时,如果leafName.compareTo(ruleName) ==0为false,就执行else里语句,返回null了。
应该这样写。
public CLASSNAME getBNFRule(String ruleName)
{
int count = List.size(); //记录总数
for(int leafNum=0; leafNum<count; leafNum++)
{
String leafName = ((CLASSNAME)List.get(leafNum)).getName();
if(leafName!=null && leafName.equals(ruleName))
{
return (CLASSNAME)List.get(leafNum);
}
}

return null;

}
maowu 2004-08-04
  • 打赏
  • 举报
回复
public CLASSNAME getBNFRule(String ruleName)
{
for(int leafNum=0; leafNum<List.size(); leafNum++)
{
String leafName = ((CLASSNAME)List.get(leafNum)).getName();
if(leafName.compareTo(ruleName) ==0)
{
return (CLASSNAME)List.get(leafNum);
}
else
{
return null;
}
}
//here
return null;
}
lichenggang1976 2004-08-04
  • 打赏
  • 举报
回复
没有问题呀

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧