📄 charstring.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 + -