The field *** is never read locally

stenlylee 2008-11-03 03:24:25

public class Authenticator {
@Logger private Log log;
@In private FacesMessages facesMessages;
@In private Identity identity;
@In private Credentials credentials;
@In(create=true) private PersonHome personHome;
@Out(required=false) private Person person;/*The field Authenticator.person is never read locally*/

public boolean authenticate() {
log.info("{0} 登录进入系统", credentials.getUsername());
if(Common.isEmpty(personHome.findByUsername(credentials.getUsername()))) {
facesMessages.add(Severity.ERROR, "用户名不存在");
return false;
}
if(!credentials.getPassword().equals(personHome.findPasswordByUsername(credentials.getUsername()))) {
facesMessages.add(Severity.ERROR, "密码错误");
return false;
}
person = personHome.findByUsername(credentials.getUsername()).get(0);
identity.addRole("admin");
return true;
}
}

如上代码,语句和写法部分不用计较,关键是注释部分,Eclipse说这个变量没有用到
问题是我在方法里面已经写了person = ...,这还不算使用了这个变量?
如果这样还不算用到这个变量,那怎么才算用到这个变量?
...全文
1206 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhujiahill 2008-11-03
  • 打赏
  • 举报
回复
只是警告,提示你这个变量在这个类中没有被使用。不用管它。描述可能不是很准确
lihan6415151528 2008-11-03
  • 打赏
  • 举报
回复
变量作用域问题
sunhualong5560 2008-11-03
  • 打赏
  • 举报
回复
只是个提示,没多大关系不用理它.
非典型射手 2008-11-03
  • 打赏
  • 举报
回复
=号只是附值,你确实在这个累中没有使用过这个变量.也就是说在这个类中,这个变量是多余的,去掉也不会有任何问题.


当然在框架中的特殊处理可能会用到,这是个编译警告,你也可以不去理会他,甚至可以设置eclipse选项关掉这个警告

58,446

社区成员

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

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