java哈希Map到字符串

mqkwyuun  于 2021-08-25  发布在  Java
关注(0)|答案(2)|浏览(279)

我有一个哈希Map,来自一个数据库,其中有一个大的十进制数。稍后,我尝试将这个十进制数与预期结果进行比较,得到一个bigdecimal,尽管强制转换它,但它不能转换为字符串。我想不出一个好办法让它正常工作。

  1. ArrayList<HashMap<String, String>> dbResult = (ArrayList<HashMap<String, String>>)
  2. (dbEngine.getDatabaseValue(conn, "select * from collateral_holding " +
  3. "where collateral_account_id like 'RuthC26' " +
  4. "AND asset_id = 'USDollar'; "));
  5. MapValidator.compareArrayListOfHashMaps(dbResult,
  6. new ReadTestDataFromCsv(TEST_DATA_PATH + "BDFWithNonUSDCurrency/"
  7. + "/expecteddata.csv", ',').getFile(),
  8. Stream.of("quantity", "currency", "feed_currency").collect(Collectors.toSet()),
  9. "Expected quanity, currency and feed currency data match");
bybem2ql

bybem2ql1#

试着实现代码的这一部分,这就是我在项目中实现它的方式,当然你必须改变变量,它是这么说的。

  1. public String convertWithIteration(Map<Integer, ?> map) {
  2. StringBuilder mapAsString = new StringBuilder("{");
  3. for (Integer key : map.keySet()) {
  4. mapAsString.append(key + "=" + map.get(key) + ", ");
  5. }
  6. mapAsString.delete(mapAsString.length()-2, mapAsString.length()).append("}");
  7. return mapAsString.toString();
  8. }
mdfafbf1

mdfafbf12#

我不确定,但我认为这就是你想要做的:

  1. public static Map<String,String> convertToSting(Map<String,?> map) {
  2. Map<String,String> result = new HashMap<>();
  3. for (Map.Entry<String,?> entry : map.entrySet())
  4. result.put(entry.getKey(), String.valueOf(entry.getValue()));
  5. return result;
  6. }
  7. public static List<Map<String,String>> convertToSting(List<? extends Map<String,?>> lst) {
  8. return lst.stream().map(map->convertToSting(map)).collect(Collectors.toList());
  9. }

您可以这样使用它:

  1. List<Map<String, String>> dbResult = convertToSting(
  2. dbEngine.getDatabaseValue(conn, "select * from collateral_holding " +
  3. "where collateral_account_id like 'RuthC26' " +
  4. "AND asset_id = 'USDollar'; "));
展开查看全部

相关问题