微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我有一个带有以下签名的方法
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)

原文地址:https://www.jb51.cc/java/127435.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐