java indexof(int ch)不解,忘高手解惑。
偶然看到一段源码(FreeMarker 中的),去除部分其他代码,主要类似代码如下:
String name = "http://www.csdn.net";int zIdx = name.indexOf(0);if (zIdx != -1) return null;
int a = 'a';
[解决办法]
这个 indexOf(0) 应该是 c字符串的结尾NULL。
http://stackoverflow.com/questions/318775/null-u0000-in-java-string
[解决办法]
public int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。如果在此 String 对象表示的字符序列中出现值为 ch 的字符,则返回第一次出现该字符的索引;如果此字符串中没有这样的字符,则返回 -1。
0对应的字符是什么?我也好奇一下,等高手解答,
if (zIdx != -1 && zIdx < cppIdx) return null;
//当字符串中包含该字符(0对应的字符),且该字符出现的位置在字符串“:\\”之后,返回null