-12

首先对我的英语感到抱歉:)我是java新手,需要建立与SQL的连接并创建查询、更新方法,所以我在这里找到了一些不错的代码,但无法理解某些部分.....

public static List<Map<String, Object>> map(ResultSet rs) throws SQLException {
    List<Map<String, Object>> results = new ArrayList<Map<String, Object>>();
    try {
        if (rs != null) {
            ResultSetMetaData meta = rs.getMetaData();
            int numColumns = meta.getColumnCount();
            while (rs.next()) {
                Map<String, Object> row = new HashMap<String, Object>();
                for (int i = 1; i <= numColumns; ++i) {
                    String name = meta.getColumnName(i);
                    Object value = rs.getObject(i);
                    row.put(name, value);
                }
                results.add(row);
            }
        }
    } finally {
        close(rs);
    }
    return results;
}

现在我想“地图”是方法的名称?

那是List < Map < String, Object >>什么?我在第二行看到它的一些数组列表,但 Map、String、Object 和括号的含义是什么?

什么HashMap < String, Object > ()以及为什么在这里使用它?

4

3 回答 3

4

Map是一个接口,允许您指定 Map ( String) 中键的类型以及这些键匹配的值 ( Object)。ListArrayList实现的接口,所以与List. HashMapis to Mapas ArrayListis to List,所以基本上 aHashMap是地图的实现。该列表允许您跟踪Map为您定义的一系列键/值对。例如,Stringkey可能与名为 的对象匹配value,这是您指定 this 的位置。更多文档可以在这里找到:

http://docs.oracle.com/javase/6/docs/api/java/util/HashMap.html

http://docs.oracle.com/javase/6/docs/api/java/util/Map.html

于 2013-08-04T22:18:44.350 回答
1

这段代码中涵盖了几个您似乎一无所知的主题,因此我提供了指向Java 教程相关部分的链接。

  • Java 泛型:一种为类指定泛型参数的方法,类似于 C++ 模板。
  • Java Collections:一种在单个对象中收集多个对象的方法。

如果您发现教程页面难以理解,您可能希望使用Java 教程来填补您的 Java 知识中的巨大空白。

于 2013-08-04T22:24:42.957 回答
1

只是直接涉及到这个问题:

在第二行中定义了一个变量,并且List<Map<String, Object>>是它的类型。List<>type 有一个通用参数 - 告诉列表中的对象类型。所以这将是一个地图对象列表,Map<String, Object>准确地说是对象列表。是什么Map<String, Object>意思?它是一个带有字符串类型键和对象类型值的映射。所以,把这一切放在一起:结果变量是一个映射列表,每个映射都有映射到对象的字符串。但是,我觉得你只需要冷静下来,从头开始学习Java/编程原理,多注意一点:)

于 2013-08-04T22:19:35.550 回答