加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 将Map传递给需要Map的方法

发布时间:2020-12-14 23:44:29 所属栏目:Java 来源:网络整理
导读:我有一个带有以下签名的方法 public static ActionDefinition reverse(String action,MapString,Object args) 我有返回以下内容的方法: public static MapString,String toMap(String value) 有没有什么方法可以将toMap的输出转换为反向使用,例如: ActionD
我有一个带有以下签名的方法
public static ActionDefinition reverse(String action,Map<String,Object> args)

我有返回以下内容的方法:

public static Map<String,String> toMap(String value)

有没有什么方法可以将toMap的输出转换为反向使用,例如:

ActionDefinition ad = reverse("Action.method",toMap("param1=value1,param2=value2"));

我需要做点什么

(Map<String,Object>) toMap("param1=value1,param2=value2");

但我无法做到这一点

我也试过以下方法

public static Map<String,String> toMap(String value) {
    Map<String,Object> source = toMap(value);
    Map<String,String> map = new LinkedHashMap<String,String>();

    for(Map.Entry<String,Object> entry: source.entrySet()) {
        map.put(entry.getKey(),(String) entry.getValue());
    }

    return map;
}

但我想由于类型擦除,我得知该方法是重复的…

任何的想法?

编辑

我忘了声明我无法改变反向方法,正如许多人所建议的那样……

解决方法

如果你可以改变你想要的方法
public static ActionDefinition reverse(String action,? extends Object> args)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读