【发布时间】:2017-04-06 09:39:50
【问题描述】:
在以下代码中,我在命名空间映射返回时收到错误。不知道为什么。 getOrDefault Methode 应该在 HashMap.class 中定义。我尝试按照链接示例https://www.intertech.com/Blog/jaxb-tutorial-customized-namespace-prefixes-example-using-namespaceprefixmapper/
中的描述创建一个 NamespaceMapper import java.util.HashMap;
import java.util.Map;
import com.sun.xml.bind.marshaller.NamespacePrefixMapper;
public class FimsNamespacePrefixMapper extends NamespacePrefixMapper {
private Map<String, String> namespaceMap = new HashMap<>();
public FimsNamespacePrefixMapper() {
namespaceMap.put("http://base.fims.tv", "bms");
namespaceMap.put("http://transformmedia.fims.tv", "tms");
}
@Override
public String getPreferredPrefix(String arg0, String arg1, boolean arg2) {
return namespaceMap.getOrDefault(arg0, arg1);
}}
【问题讨论】:
-
你遇到了什么异常?
-
您使用的是哪个 Java 版本?该方法是在 Java 8 中引入的
标签: java dictionary hashmap