SearchResultVo result = null;
result =  searchHandler(historyScore,channelCode,searchParam);
System.out.println("查询服务result"+result.getTopSevenPhone());
在searchHandler()方法中返回值前我控制台输出result.getTopSevenPhone()这个属性是有值的
但是执行完result =  searchHandler(historyScore,channelCode,searchParam);后 再输出这个变量就为null了 请问是怎么回事?
真的很无解啊
还请各路大神多多指点

解决方案 »

  1.   

    方法内部就是 new了一个SearchResultVo  然后setTopSevenPhone方法放了一个值
      

  2.   

    确定返回的是你方法里打印的那个result吗?另外有aop操作吗?
      

  3.   

    你自己Debug调试一下,一步一步慢慢走下去,看值到底在哪里变化
      

  4.   


    你new的这个 SearchResultVo    return了么? 
      

  5.   

    怀疑楼主的 searchHandler 实现中出现了类似这样的语句:SearchResultVo result = new ......;
    ......
    System.out.println(......);......
    return null;建议进行debug,或者在return 语句之前打印你的调试语句 
      

  6.   

    同意8楼再不然就是getTopSevenPhone()执行一次就会把值清空。另外楼主要相信世界上没有鬼
      

  7.   

    同意8#,searchHandler内部问题,单步看执行的结果找问题所在
      

  8.   

    同意8楼再不然就是getTopSevenPhone()执行一次就会把值清空。另外楼主要相信世界上没有鬼
      

  9.   

    public static void main(String[] args) { Person p = null;
    p = getPerson("11");
    System.out.println("outer = " + p.getName());
    } private static Person getPerson(String string) {
    Person person = new Person();
    person.setName(string);
    return person;
    }
    这样没问题
      

  10.   

    debug可以解决99.9的问题
      

  11.   

    好好运用debug吧
      

  12.   

    既然result.getTopSevenPhone()有值,那就直接return result.getTopSevenPhone();这样就应该可以了.
      

  13.   

    把你这个searchHandler()方法中的代码贴出啊!