写BUG的派大星

Patrick Star

  • 首页
  • 归档

  • 搜索
设计模式 Gis Kafka Druid 微信小程序 Java 开源项目源码 物体识别 机器学习 Mybatis 微服务 Feign OpenVPN CSS Streamsets CDH SpringCloud SpringBoot maven 分布式 Shell Tree Linux js WebSocket 多线程 集群 Hadoop 大数据 JDK ElasticSearch MySQL 数据库 Redis Http Nginx

Java中String.concat方法的空指针异常NullPointerException

发表于 2020-06-16 | 分类于 Java | 0 | 阅读次数 878

在String.concat方法中,参数不能是null,否则会抛出空指针异常。
如

String a = "hello ";
String b = null;
// 出现空指针异常
a.concat(b);
// 不会出现空指针异常 拼接结果为 "hello null"
a + b;

但是使用"+"进行拼接就不会出现异常。

在concat方法的源码中可以找到答案。

    public String concat(String str) {
        int otherLen = str.length();
        if (otherLen == 0) {
            return this;
        }
        int len = value.length;
        char buf[] = Arrays.copyOf(value, len + otherLen);
        str.getChars(buf, len);
        return new String(buf, true);
    }

方法体第一行中调用了length方法,所以参数不能为null。

使用idea查看时也能看到有个@NotNull
image.png

  • 本文作者: Patrick
  • 本文链接: https://www.write1bug.cn/archives/java中stringconcat方法的空指针异常nullpointerexception
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 设计模式 # Gis # Kafka # Druid # 微信小程序 # Java # 开源项目源码 # 物体识别 # 机器学习 # Mybatis # 微服务 # Feign # OpenVPN # CSS # Streamsets # CDH # SpringCloud # SpringBoot # maven # 分布式 # Shell # Tree # Linux # js # WebSocket # 多线程 # 集群 # Hadoop # 大数据 # JDK # ElasticSearch # MySQL # 数据库 # Redis # Http # Nginx
Mysql5.6(tar包安装)升级Mysql8.0(yum安装)
Python3报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position"
  • 文章目录
  • 站点概览
Patrick

Patrick

不是在改BUG,就是在写BUG。

52 日志
9 分类
36 标签
RSS
E-mail
Creative Commons
© 2018 — 2023 Patrick
人生如逆旅|我亦是行人
鲁ICP备18043140号-1