ProblemHashMaping in Java
Ich versuche, so etwas wie ein mehrdimensionales assoziatives Array zu erstellen. Aus irgendeinem Grund bekomme ich ähnliche Ergebnisse für alle Elemente in der Map. Im Folgenden finden Sie den Code i
bin mitprivate HashMap<String, HashMap<String, String>> getNullableColumns(Connection dbConn, String resource) throws SQLException {
HashMap<String, HashMap<String, String>> nullableColumns = new HashMap<String, HashMap<String, String>>();
HashMap<String, String> column = new HashMap<String, String>();
DatabaseMetaData dm = dbConn.getMetaData();
ResultSet rsColumns = dm.getColumns(null, null, getTable(resource), null);
while(rsColumns.next())
{
String type = rsColumns.getString("TYPE_NAME");
String nullable1 = rsColumns.getString("NULLABLE");
String nullable2 = rsColumns.getString("IS_NULLABLE");
String dataType = rsColumns.getString("DATA_TYPE");
String columnName = rsColumns.getString("COLUMN_NAME");
column.put("type", type);
column.put("nullable", nullable1);
nullableColumns.put(columnName, column);
}
return nullableColumns;
}
Explaination:
ich das richtige Ergebnis in Spalte HashMap bekommen, aber wenn ich jeweils in nullableColumns auf sie setzen, alle Elemente haben die gleiche Eigenschaft auf Das Ende, zum Beispiel alle Felder sind Typ varchar und nullable ist 0. Es sieht so aus, als würde ich das Ergebnis am Ende irgendwie übersteuern, aber wo ich diesen Fehler mache, konnte ich nicht herausfinden.
Irgendwelche Vorschläge bitte?