首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

实则不用重复造轮子[StringUtils][002]

2012-12-23 
其实不用重复造轮子[StringUtils][002]一、Substring1.包含空指针异常处理的subString,开始private static

其实不用重复造轮子[StringUtils][002]

一、Substring

1.包含空指针异常处理的subString,开始

    private static String[] splitByCharacterType(String str, boolean camelCase) {        if (str == null) {            return null;        }        if (str.length() == 0) {            return ArrayUtils.EMPTY_STRING_ARRAY;        }        char[] c = str.toCharArray();        List list = new ArrayList();        int tokenStart = 0;        int currentType = Character.getType(c[tokenStart]);        for (int pos = tokenStart + 1; pos < c.length; pos++) {            int type = Character.getType(c[pos]);            if (type == currentType) {                continue;            }            if (camelCase && type == Character.LOWERCASE_LETTER && currentType == Character.UPPERCASE_LETTER) {                int newTokenStart = pos - 1;                if (newTokenStart != tokenStart) {                    list.add(new String(c, tokenStart, newTokenStart - tokenStart));                    tokenStart = newTokenStart;                }            } else {                list.add(new String(c, tokenStart, pos - tokenStart));                tokenStart = pos;            }            currentType = type;        }        list.add(new String(c, tokenStart, c.length - tokenStart));        return (String[]) list.toArray(new String[list.size()]);    }
?

?

?

?

?

热点排行