日期:2014-05-19  浏览次数:20576 次

java 返回值问题?
dao层
Java code
    //获取nodeindex最大值,没有则为1,否则最大值加1返回
    public List<TMenu> findNodeIndex(long id){
        
        String isSql = "select max(to_number(t.node_index)) from t_me t where t.superior_id = "+id;
        return (List<TMenu>) this.queryBySql(isSql);
        
        
//        if(nodeList==null){
//            return "1";
//        }
//        return nodeList.get(0);
        
        
    }


actiong层
Java code

    List<TMe> tMeList= cdglService.findNodeIndex(superiorId);
            System.out.println("========"+tMeList.size());
            for(int i =0;i<tMeList.size();i++){
                System.out.println((TMe)tMeList.get(i).getNodeIndex());
                
            }
            System.out.println("========"+tMeList.get(0).getNodeIndex());




tMeList.get(i).getNodeIndex();


这个得不到??写的有问题么??

------解决方案--------------------
用debug就很快解决问题了
------解决方案--------------------
你看这有值没tMeList.get(i)
------解决方案--------------------
Java code

   List<TMe> tMeList= cdglService.findNodeIndex(superiorId);
            System.out.println("========"+tMeList.size());
//循环以前加个判断。
if(tMeList.size()>0){
            for(int i =0;i<tMeList.size();i++){
                System.out.println((TMe)tMeList.get(i).getNodeIndex());
                
            }
}
//要把bug尽量降到最低。。
            System.out.println("========"+tMeList.get(0).getNodeIndex());

------解决方案--------------------
先看看你的findNodeIndex是否有值
------解决方案--------------------
1.获得对象的返回值有误,可以修改下看看
2.debug才是王道
------解决方案--------------------
debug调试一下
------解决方案--------------------
+1
探讨

Java code

List<TMe> tMeList= cdglService.findNodeIndex(superiorId);
System.out.println("========"+tMeList.size());
//循环以前加个判断。
if(tMeList.size()>0){
for(int i =0;i<tMeLis……