⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 charstring.java

📁 cisco-2950交换机的应用程序的源代码
💻 JAVA
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   CharString.java

package cisco.dsbu.cms.boot.internal.xmllite;


public class CharString
{

    private char value[];
    private int start;
    private int length;

    public CharString(String s)
    {
        start = 0;
        length = s.length();
        value = new char[length];
        s.getChars(0, length, value, start);
    }

    public CharString(char ac[], int i, int j)
    {
        value = ac;
        start = i;
        length = j;
    }

    public CharString(CharString charstring)
    {
        start = 0;
        length = charstring.length;
        value = new char[length];
        int ai[] = new int[2];
        charstring.computeChunkLengths(ai);
        System.arraycopy(charstring.value, charstring.start, value, start, ai[0]);
        if(ai[1] != 0)
            System.arraycopy(charstring.value, 0, value, ai[0], ai[1]);
    }

    public CharString trim()
    {
        for(; length > 0; length--)
        {
            if(!Character.isWhitespace(value[start]))
                break;
            start++;
            if(start == value.length)
                start = 0;
        }

        int i = (start + length) - 1;
        if(i >= value.length)
            i -= value.length;
        for(; length > 0; length--)
        {
            if(!Character.isWhitespace(value[i]))
                break;
            if(--i == -1)
                i = value.length - 1;
        }

        return this;
    }

    public boolean equals(Object obj)
    {
        if(obj == null)
            return false;
        CharString charstring;
        try
        {
            charstring = (CharString)obj;
        }
        catch(ClassCastException classcastexception)
        {
            return false;
        }
        if(length != charstring.length)
            return false;
        int i = 0;
        int j = start;
        int k = charstring.start;
        while(i < length) 
        {
            if(value[j] != charstring.value[k])
                return false;
            i++;
            if(++j == value.length)
                j = 0;
            if(++k == charstring.value.length)
                k = 0;
        }
        return true;
    }

    public String toString()
    {
        int ai[] = new int[2];
        computeChunkLengths(ai);
        StringBuffer stringbuffer = new StringBuffer(length);
        stringbuffer.append(value, start, ai[0]);
        if(ai[1] != 0)
            stringbuffer.append(value, 0, ai[1]);
        return stringbuffer.toString();
    }

    public int toInt()
        throws NumberFormatException
    {
        int i = 0;
        boolean flag = false;
        int j = 0;
        int k = start;
        int l = length;
        if(l > 0)
        {
            int i1;
            if(value[start] == '-')
            {
                flag = true;
                i1 = 0x80000000;
                j++;
                if(++k == value.length)
                    k = 0;
            } else
            {
                i1 = 0x80000001;
            }
            int j1 = i1 / 10;
            if(j < l)
            {
                int k1 = Character.digit(value[k], 10);
                j++;
                if(++k == value.length)
                    k = 0;
                if(k1 < 0)
                    throw new NumberFormatException(toString());
                i = -k1;
            }
            while(j < l) 
            {
                int l1 = Character.digit(value[k], 10);
                j++;
                if(++k == value.length)
                    k = 0;
                if(l1 < 0)
                    throw new NumberFormatException(toString());
                if(i < j1)
                    throw new NumberFormatException(toString());
                i *= 10;
                if(i < i1 + l1)
                    throw new NumberFormatException(toString());
                i -= l1;
            }
        } else
        {
            throw new NumberFormatException(toString());
        }
        if(flag)
        {
            if(j > 1)
                return i;
            else
                throw new NumberFormatException(toString());
        } else
        {
            return -i;
        }
    }

    private void computeChunkLengths(int ai[])
    {
        ai[0] = value.length - start;
        if(ai[0] < length)
        {
            ai[1] = length - ai[0];
        } else
        {
            ai[0] = length;
            ai[1] = 0;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -