我怎样才能返回此方法的值?

时间:2015-05-07 14:00:53

标签: java

我有一个方法可以返回我的POJO的值。

我的POJO课程的名称是Tail

public Tail getTail(long value1, String value2, int value3) {

    List<Tail> l = /*I get this list via Hibernate. */
    if (l.size() == 1) {
        return (Tail) l.get(0);
    } 
    else if (l.size() > 1) {
        for (Tail t : l) {
            First ik = minorDAO.getFirst(value3, t.getNumber());
            if( ik.getCond().equals("I") ){
                t.setCond("I");
                continue;
            } else {
                return t;   //???????????????               
            }   
        }               
    } else {
        return null;
    }           
}   

在foreach循环中的else语句中,问号注释是我要返回t,但是如果我这样做,我会收到错误说明:

  

“此方法必须返回Tail类型的结果”。

如何在那里返回值?

1 个答案:

答案 0 :(得分:0)

使用该代码,您不会收到消息:

public Tail getTail(long value1, String value2, int value3) {
        List<Tail> l = --> (I get list via Hibernate.)
        if (l.size() == 1) {
            return (Tail) l.get(0);
        } else if (l.size()>1){
            for (Tail t: l) {
                First ik = minorDAO.getFirst(value3, t.getNumber());
                if( ik.getCond().equals("I") ){
                    t.setCond("I");
                    continue;
                } else {
                    return t;
                }   
            }

        }
        return null;

    }

如果该方法必须返回Tail,则必须在任何可能的情况下提供该方法。 例如:

如果在这种情况下每个元素都是true

if( ik.getCond().equals("I") ){

没有回报。你迭代整个列表,没有任何反应......