Bug记录:java.lang.UnsupportedOperationException: null
java.lang.UnsupportedOperationException: null
这个错一般是因为不支持的操作导致,即对象不支持某方法,显示抛出此异常。
举个例子:Arrays.asList
这个方法返回Arrays内部类ArrayList而不是java.util.ArrayList,而Arrays的内部类ArrayList是继承了AbstractList,AbstractList中的add、remove方法都没有overwrite,所以会显式的throw new UnsupportedOperationException()。
再举个例子:代码如下,构建map的时候用了Map.of
方法,众所周知此方法返回不可变的ImmutableMap,所以在else语句块中会抛异常。
String controllerName = specificHandlerMethodMapping.get("handler");
String methodName = specificHandlerMethodMapping.get("method") == null ? "handleRequest" : specificHandlerMethodMapping.get("method");
//根据 controllerName 获取对应的动态映射配置
DynamicControllerConfig config = specificConfigMap.get(controllerName);
// 构建特殊的controller config
if (config == null) {
config = DynamicControllerConfig.builder()
.controllerBeanName(controllerName)
.uriMapping(Map.of(url, methodName))
.build();
specificConfigMap.put(controllerName, config);
} else {
Map<String, String> uriMapping = config.getUriMapping();
String put = uriMapping.put(url, methodName);
}
本博客内容仅供个人学习使用,禁止用于商业用途。转载需注明出处并链接至原文。