类android.text.GetChars源码实例Demo

下面列出了怎么用android.text.GetChars的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: PowerFileExplorer   文件: TextUtils.java
public static void getChars(CharSequence s, int start, int end,
                            char[] dest, int destoff) {
    Class c = s.getClass();

    if (c == String.class)
        ((String) s).getChars(start, end, dest, destoff);
    else if (c == StringBuffer.class)
        ((StringBuffer) s).getChars(start, end, dest, destoff);
    else if (c == StringBuilder.class)
        ((StringBuilder) s).getChars(start, end, dest, destoff);
    else if (s instanceof GetChars)
        ((GetChars) s).getChars(start, end, dest, destoff);
    else {
        for (int i = start; i < end; i++)
            dest[destoff++] = s.charAt(i);
    }
}
 
源代码2 项目: JotaTextEditor   文件: TextUtils.java
public static void getChars(CharSequence s, int start, int end,
                            char[] dest, int destoff) {
    Class c = s.getClass();

    if (c == String.class)
        ((String) s).getChars(start, end, dest, destoff);
    else if (c == StringBuffer.class)
        ((StringBuffer) s).getChars(start, end, dest, destoff);
    else if (c == StringBuilder.class)
        ((StringBuilder) s).getChars(start, end, dest, destoff);
    else if (s instanceof GetChars)
        ((GetChars) s).getChars(start, end, dest, destoff);
    else {
        for (int i = start; i < end; i++)
            dest[destoff++] = s.charAt(i);
    }
}
 
源代码3 项目: PowerFileExplorer   文件: TextUtils.java
public static int indexOf(CharSequence s, char ch, int start, int end) {
    Class c = s.getClass();

    if (s instanceof GetChars || c == StringBuffer.class ||
        c == StringBuilder.class || c == String.class) {
        final int INDEX_INCREMENT = 500;
        char[] temp = obtain(INDEX_INCREMENT);

        while (start < end) {
            int segend = start + INDEX_INCREMENT;
            if (segend > end)
                segend = end;

            getChars(s, start, segend, temp, 0);

            int count = segend - start;
            for (int i = 0; i < count; i++) {
                if (temp[i] == ch) {
                    recycle(temp);
                    return i + start;
                }
            }

            start = segend;
        }

        recycle(temp);
        return -1;
    }

    for (int i = start; i < end; i++)
        if (s.charAt(i) == ch)
            return i;

    return -1;
}
 
源代码4 项目: Tehreer-Android   文件: StringUtils.java
public static @NonNull String copyString(@NonNull CharSequence charSequence) {
    int length = charSequence.length();
    char[] chars = new char[length];

    if (charSequence instanceof GetChars) {
        ((GetChars)charSequence).getChars(0, length, chars, 0);
    } else {
        for (int i = 0; i < length; i++) {
            chars[i] = charSequence.charAt(i);
        }
    }

    return new String(chars);
}
 
源代码5 项目: JotaTextEditor   文件: TextUtils.java
public static int indexOf(CharSequence s, char ch, int start, int end) {
    Class c = s.getClass();

    if (s instanceof GetChars || c == StringBuffer.class ||
        c == StringBuilder.class || c == String.class) {
        final int INDEX_INCREMENT = 500;
        char[] temp = obtain(INDEX_INCREMENT);

        while (start < end) {
            int segend = start + INDEX_INCREMENT;
            if (segend > end)
                segend = end;

            getChars(s, start, segend, temp, 0);

            int count = segend - start;
            for (int i = 0; i < count; i++) {
                if (temp[i] == ch) {
                    recycle(temp);
                    return i + start;
                }
            }

            start = segend;
        }

        recycle(temp);
        return -1;
    }

    for (int i = start; i < end; i++)
        if (s.charAt(i) == ch)
            return i;

    return -1;
}
 
源代码6 项目: PowerFileExplorer   文件: TextUtils.java
public static int lastIndexOf(CharSequence s, char ch,
                              int start, int last) {
    if (last < 0)
        return -1;
    if (last >= s.length())
        last = s.length() - 1;

    int end = last + 1;

    Class c = s.getClass();

    if (s instanceof GetChars || c == StringBuffer.class ||
        c == StringBuilder.class || c == String.class) {
        final int INDEX_INCREMENT = 500;
        char[] temp = obtain(INDEX_INCREMENT);

        while (start < end) {
            int segstart = end - INDEX_INCREMENT;
            if (segstart < start)
                segstart = start;

            getChars(s, segstart, end, temp, 0);

            int count = end - segstart;
            for (int i = count - 1; i >= 0; i--) {
                if (temp[i] == ch) {
                    recycle(temp);
                    return i + segstart;
                }
            }

            end = segstart;
        }

        recycle(temp);
        return -1;
    }

    for (int i = end - 1; i >= start; i--)
        if (s.charAt(i) == ch)
            return i;

    return -1;
}
 
源代码7 项目: JotaTextEditor   文件: TextUtils.java
public static int lastIndexOf(CharSequence s, char ch,
                              int start, int last) {
    if (last < 0)
        return -1;
    if (last >= s.length())
        last = s.length() - 1;

    int end = last + 1;

    Class c = s.getClass();

    if (s instanceof GetChars || c == StringBuffer.class ||
        c == StringBuilder.class || c == String.class) {
        final int INDEX_INCREMENT = 500;
        char[] temp = obtain(INDEX_INCREMENT);

        while (start < end) {
            int segstart = end - INDEX_INCREMENT;
            if (segstart < start)
                segstart = start;

            getChars(s, segstart, end, temp, 0);

            int count = end - segstart;
            for (int i = count - 1; i >= 0; i--) {
                if (temp[i] == ch) {
                    recycle(temp);
                    return i + segstart;
                }
            }

            end = segstart;
        }

        recycle(temp);
        return -1;
    }

    for (int i = end - 1; i >= start; i--)
        if (s.charAt(i) == ch)
            return i;

    return -1;
}
 
 类所在包
 类方法
 同包方法