我在使用concat时,并不清楚concat的实现原理。我就使用concat方法将两个字符串拼接起来webImageRootPath.concat(path)。但是后来代码报了java.lang.NullPointerException异常,检查webImageRootPath并不异常为空,当时很纳闷怎么会报空指针异常呢。从网上搜索之后发现,原来是path这个值为null。
- public String concat(String str) {
- int otherLen = str.length();
- if (otherLen == 0) {
- return this;
- }
- char buf[] = new char[count + otherLen];
- getChars(0, count, buf, 0);
- str.getChars(0, otherLen, buf, count);
- return new String(0, count + otherLen, buf);
- }
上面是concat的源码实现。原来使用concat方法时,参数str也不能为null,否则就会包空指针异常。
梅花香自古寒来