this.count=length;
this.offset=0;
}
+
+ public String(byte str[], String encoding) {
+ int length = this.count;
+ if (length>(str.length))
+ length=str.length;
+ char charstr[]=new char[length];
+ for(int i=0; i<length; i++)
+ charstr[i]=(char)str[i];
+ this.value=charstr;
+ this.count=length;
+ this.offset=0;
+ }
+
+ public String(char str[], int offset, int length) {
+ if (length>(str.length-offset))
+ length=str.length-offset;
+ char charstr[]=new char[length];
+ for(int i=0; i<length; i++)
+ charstr[i]=str[i+offset];
+ this.value=charstr;
+ this.count=length;
+ this.offset=0;
+ }
public String(String str) {
this.value=str.value;
return this.lastindexOf(ch, count - 1);
}
+ public int lastIndexOf(char ch) {
+ return this.lastindexOf((int)ch, count - 1);
+ }
+
public static String concat2(String s1, String s2) {
if (s1==null)
return "null".concat(s2);
return -1;
}
+ public int indexOfIgnoreCase(String str, int fromIndex) {
+ if (fromIndex < 0)
+ fromIndex = 0;
+ }
+
public int lastIndexOf(String str, int fromIndex) {
int k=count-str.count;
if (k>fromIndex)
str[i]=(byte)value[i+offset];
return str;
}
+
+ public void getChars(char dst[], int dstBegin) {
+ getChars(0, count, dst, dstBegin);
+ }
+
+ public void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin) {
+ if((srcBegin < 0) || (srcEnd > count) || (srcBegin > srcEnd)) {
+ // FIXME
+ System.printString("Index error: "+srcBegin+" "+srcEnd+" "+count+"\n"+this);
+ System.exit(-1);
+ }
+ int len = srcEnd - srcBegin;
+ int j = dstBegin;
+ for(int i=srcBegin; i<srcEnd; i++)
+ dst[j++]=value[i+offset];
+ return;
+ }
public int length() {
return count;
return false;
}
+
+ public String trim() {
+ int len = count;
+ int st = 0;
+ int off = offset; /* avoid getfield opcode */
+ char[] val = value; /* avoid getfield opcode */
+
+ while ((st < len) && (val[off + st] <= ' ')) {
+ st++;
+ }
+ while ((st < len) && (val[off + len - 1] <= ' ')) {
+ len--;
+ }
+ return ((st > 0) || (len < count)) ? substring(st, len) : this;
+ }
+
+ public boolean matches(String regex) {
+ System.println("String.matches() is not fully supported");
+ return this.equals(regex);
+ }
}