首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

Hashtable 的声明位置没搞懂,该怎么处理

2012-02-17 
Hashtable 的声明位置没搞懂1ConnectionconngetConnection()VectorlistnewVector()HashtablehtnewHa

Hashtable 的声明位置没搞懂
1>
        Connection   conn=getConnection();
        Vector   list=new   Vector();
        Hashtable   ht=new   Hashtable();
        try
        {
              stmt=conn.createStatement();
              ResultSet   rs=stmt.executeQuery( "select   sortID,sortName ");
              while(rs.next()   )
              {
                    int   field   =rs.getInt(1);
                    String   value=rs.getString(2);
                    ht.put(field,value);
                    list.add(ht);
              }
                           
        }catch(SQLException   e)
        {}

2>

      Connection   conn=getConnection();
        Vector   list=new   Vector();
        try
        {
              stmt=conn.createStatement();
              ResultSet   rs=stmt.executeQuery( "select   sortID,sortName ");
              while(rs.next()   )
              {
                    Hashtable   ht=new   Hashtable();
                    int   field   =rs.getInt(1);
                    String   value=rs.getString(2);
                    ht.put(field,value);
                    list.add(ht);
              }
                           
        }catch(SQLException   e)
        {}


数据表:
        sortID                           sortName
            1                                 计算机
            2                                 园林设计


第一段代码的结果为:
            2                                 园林设计
            1                                 计算机
            2                                 园林设计


            1                                 计算机

第一段代码的结果为:
            1                                 计算机
            2                                 园林设计

第二段的才正确,只是Hashtable   声明的位置在循环之前怎么回得第一段的结果嘞?????

[解决办法]
第一段你是把HashTable对象定义放在循环外面了所以把所有字段都放到一个HashTable里
第二段你是把HashTable对象定义放在循环里面了所以把每一个字段放到不同的HashTable里
这要是你还不明白的话你就多看看JAVA基础的局部变量和全局变量部分

热点排行