首页 > 编程语言 >bug记录:java.lang.UnsupportedOperationException: null

bug记录:java.lang.UnsupportedOperationException: null

时间:2024-04-12 16:47:19浏览次数:33  
标签:lang UnsupportedOperationException java get controllerName null config

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

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

标签:lang,UnsupportedOperationException,java,get,controllerName,null,config
From: https://www.cnblogs.com/zhaobo1997/p/18131615

相关文章

  • Java策略模式实践
    1什么是策略模式策略模式(StrategyPattern):一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式定义了一系列算法或策略,并将每个算法封装在独立的类中,使得它们可以互相替换。通过使用策略模式,可以在运行时根据需要选择不同的算法,而不需要修改......
  • java + geotools 读写shp时,中文属性乱码问题
    创建时要注意 :  newDataStore.setCharset(Charset.forName("GBK"));代码如下:FilenewFile=newFile(filepath);Map<String,Serializable>params=newHashMap<>();params.put("url",newFile.toURI().toURL());params.put("createspati......
  • Java stream sorted使用 Comparator 进行多字段排序
    摘要:介绍使用JavaStream流排序器Comparator对List集合进行多字段排序的方法,包括复杂实体对象多字段升降序混合排序方法。综述​ Java8的Stream使用了函数式编程模式,人如其名,它可以被用来对集合或数组进行链状流式的排序、过滤和统计等操作,从而让我们更方便的对集合或数组......
  • Java 中文官方教程 2022 版(四十一)
    原文:docs.oracle.com/javase/tutorial/reallybigindex.html错误处理原文:docs.oracle.com/javase/tutorial/jaxp/limits/error.html建议应用程序在设置新属性时捕获org.xml.sax.SAXNotRecognizedException异常,以便应用程序在不支持这些属性的旧版本上正常工作。例如,可下载的......
  • Java 中文官方教程 2022 版(四十二)
    原文:docs.oracle.com/javase/tutorial/reallybigindex.html设置策略文件以授予所需的权限。原文:docs.oracle.com/javase/tutorial/security/toolsign/rstep3.html接下来,您将使用策略工具创建一个名为exampleraypolicy的策略文件,并在其中授予来自已签名JAR文件的代码权限......
  • Java 中文官方教程 2022 版(四十四)
    原文:docs.oracle.com/javase/tutorial/reallybigindex.html调用方法原文:docs.oracle.com/javase/tutorial/reflect/member/methodInvocation.html反射提供了一种在类上调用方法的方式。通常,只有在非反射代码中无法将类的实例强制转换为所需类型时才需要这样做。方法是使用j......
  • Java 中文官方教程 2022 版(四十五)
    原文:docs.oracle.com/javase/tutorial/reallybigindex.html教程:自定义网络原文:docs.oracle.com/javase/tutorial/networking/index.htmlJava平台备受推崇,部分原因是其适用于编写使用和与互联网资源以及万维网进行交互的程序。事实上,兼容Java的浏览器极大地利用了Java......
  • Java 中文官方教程 2022 版(四十六)
    原文:docs.oracle.com/javase/tutorial/reallybigindex.html定义简单的通用类型原文:docs.oracle.com/javase/tutorial/extra/generics/simple.html这里是包java.util中接口List和Iterator的定义的一个小节选:publicinterfaceList<E>{voidadd(Ex);Iterator<E......
  • Java 中文官方教程 2022 版(四十九)
    原文:docs.oracle.com/javase/tutorial/reallybigindex.htmlJAXB示例原文:docs.oracle.com/javase/tutorial/jaxb/intro/examples.html以下部分描述如何使用包含在JAXBRI捆绑包中的示例应用程序。JAXBRI捆绑包可从jaxb.java.net获取。下载并安装JAXBRI捆绑包。示例......
  • Java 中文官方教程 2022 版(三十四)
    原文:docs.oracle.com/javase/tutorial/reallybigindex.html长期持久性原文:docs.oracle.com/javase/tutorial/javabeans/advanced/longpersistence.html长期持久性是一种模型,可以将bean保存为XML格式。有关XML格式和如何为非bean实现长期持久性的信息,请参阅XML模......