日期:2014-05-18  浏览次数:20787 次

java中list输出的值是由类名和 标记符“@”和此对象哈希代码的无符号十六进制表示组成
try   {
      String   id   =   (String)request.getParameter( "id ");

      List   aaa   =sqlyj.list(id);
      response.setContentType( "text/xml;charset=GB2312 ");
      response.setHeader( "Cache-Control ", "no-cache ");
      response.getWriter().println( " <?xml   version= '1.0 '   encoding= 'GB2312 '   ?> ");
      response.getWriter().println( " <root> ");
      response.getWriter().println( " <content> ");
      int   num   =   aaa.size();
      for   (int   i=0;i <num;i++){
              response.getWriter().print(aaa.get(i).toString());
      }
      response.getWriter().println( " </content> ");
      response.getWriter().println( " </root> ");
      response.getWriter().close();

  }   catch   (Exception   e)   {
      generalError(request,   e);
      return   mapping.findForward( "failure ");
  }
  return   null;
}
结果输出的值是app.Userads@69d02bapp.Userads@e1eea8,网上写这是是由类名和   标记符“@”和此对象哈希代码的无符号十六进制表示组成,那么怎么解决他真正输出的值呢?解决后立即给分!

------解决方案--------------------
例如你的Userads里面有个方法,叫做public String getName(){...},那么就是response.getWriter().print(((Userads)aaa.get(i)).getName());
当然aaa这个List里面存放的Object一定要是Userads的实例.