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);
}

本博客内容仅供个人学习使用,禁止用于商业用途。转载需注明出处并链接至原文。

posted @ 2024-04-12 16:36  爱吃麦辣鸡翅  阅读(446)  评论(0编辑  收藏  举报