【问题标题】:How to split a value in a map如何拆分地图中的值
【发布时间】:2019-04-25 07:26:00
【问题描述】:

我得到一张格式如下的地图:

{owner=sailpoint.object.Identity@2aea717c[id=8ad616906a065639016a0657e2df000d,name=Jsmith]}

我怎样才能只获得“Jsmith”作为我对关键“所有者”的价值?

【问题讨论】:

  • 你的钥匙是什么类型的?你想得到什么结果?
  • 你能发布你的HashMap声明吗?
  • 所以您的地图看起来像这样:Map<String, sailpoint.object.Identity> 而您想要Map<String, String>?然后你可以使用流,像这样:yourMap.entrySet().stream().collect(Collectors.toMap(Entry::getKey, e -> e.getValue().getName()));
  • 您的输出将Identity 实例显示为值,而是使用该实例的name 成员作为值。 (当然,更改Map 声明。我不相信我们可以为这个问题写出正确的答案,所以我建议关闭“错字”,因为您在地图填充期间使用了错误的值。
  • 以下链接应该对您有所帮助:stackoverflow.com/questions/22742974/…

标签: java hashmap


【解决方案1】:

针对所有者键的值是一个对象。在您的对象toString() 方法中,您可以返回name。

@Override
public String toString() {
    return name;
}

【讨论】:

  • 谢谢各位!我能够解决这个问题: yourMap.entrySet().stream().collect(Collectors.toMap(Entry::getKey, e -> e.getValue().getName()));谢谢利诺
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多