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

求救!~~为什么只打印内存中的地址
package   com.wish;

import   java.sql.*;
import   java.util.*;

public   class   test1   {
public   static   void   main(String[]   args){
List   list=new   ArrayList();
Connection   conn=connectionFactory.getconnection();
try   {
Statement   st=conn.createStatement();
ResultSet   rs=st.executeQuery( "select   *   from   t_topic ");

while(rs.next()){
String[]   a={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)};
list.add(a);

}
for(int   i=0;i <list.size();i++){
System.out.print(list.get(i));
}
st.close();
rs.close();
conn.close();
}   catch   (SQLException   e)   {
e.printStackTrace();
}


}
}


------解决方案--------------------
System.out.print(list.get(i));

返回回来的是一个Object的类型,而不是String[]的类型,所以打印的是它的内存地址.你用一个String[]类型的引用去接收list.get(i)返回值,并把它转成String[]的类型,就可以打印里面的数据了.