|
@@ -11,7 +11,6 @@ import java.io.Serializable;
|
|
|
import java.io.Writer;
|
|
import java.io.Writer;
|
|
|
import java.util.ArrayDeque;
|
|
import java.util.ArrayDeque;
|
|
|
import java.util.Deque;
|
|
import java.util.Deque;
|
|
|
-import java.util.EmptyStackException;
|
|
|
|
|
import java.util.Iterator;
|
|
import java.util.Iterator;
|
|
|
import java.util.function.Function;
|
|
import java.util.function.Function;
|
|
|
import java.util.function.IntFunction;
|
|
import java.util.function.IntFunction;
|
|
@@ -60,16 +59,7 @@ public final class StrBuilder implements CharSequence, Appendable, Serializable
|
|
|
return size;
|
|
return size;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- @Override
|
|
|
|
|
- public char charAt(int index) {
|
|
|
|
|
- return buffer[index];
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- @Override
|
|
|
|
|
- public CharSequence subSequence(int begin, int end) {
|
|
|
|
|
- NativeArrayAllocator.ensureFromTo(size, begin, end);
|
|
|
|
|
- return StringUtils.wrap(buffer, begin, end);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
public int capacity() {
|
|
public int capacity() {
|
|
|
return buffer.length;
|
|
return buffer.length;
|
|
@@ -120,14 +110,20 @@ public final class StrBuilder implements CharSequence, Appendable, Serializable
|
|
|
return this;
|
|
return this;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public char charAt(int index) {
|
|
|
|
|
+ return buffer[index];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public StrBuilder setCharAt(int index, char value) {
|
|
public StrBuilder setCharAt(int index, char value) {
|
|
|
buffer[index] = value;
|
|
buffer[index] = value;
|
|
|
return this;
|
|
return this;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- public StrBuilder reverse() {
|
|
|
|
|
- NativeArrayUtils.reverse(size, NativeArray.wrap(buffer));
|
|
|
|
|
- return this;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public CharSequence subSequence(int begin, int end) {
|
|
|
|
|
+ NativeArrayAllocator.ensureFromTo(size, begin, end);
|
|
|
|
|
+ return StringUtils.wrap(buffer, begin, end);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public char[] getChars() {
|
|
public char[] getChars() {
|
|
@@ -151,46 +147,9 @@ public final class StrBuilder implements CharSequence, Appendable, Serializable
|
|
|
return target;
|
|
return target;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- @Override
|
|
|
|
|
- public boolean equals(Object object) {
|
|
|
|
|
- if (this == object) {
|
|
|
|
|
- return true;
|
|
|
|
|
- }
|
|
|
|
|
- if (!(object instanceof StrBuilder)) {
|
|
|
|
|
- return false;
|
|
|
|
|
- }
|
|
|
|
|
- StrBuilder other = (StrBuilder)object;
|
|
|
|
|
- if (this.size != other.size) {
|
|
|
|
|
- return false;
|
|
|
|
|
- }
|
|
|
|
|
- for(int i=0; i<size; i++) {
|
|
|
|
|
- if(this.buffer[i] != other.buffer[i]) {
|
|
|
|
|
- return false;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- return true;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- @Override
|
|
|
|
|
- public int hashCode() {
|
|
|
|
|
- return NativeArray.wrap(buffer).hashCode(0, size);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- @Override
|
|
|
|
|
- public String toString() {
|
|
|
|
|
- return new String(buffer, 0, size);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- public StringBuilder toBuilder() {
|
|
|
|
|
- return new StringBuilder(size).append(buffer, 0, size);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- public Writer asWriter() {
|
|
|
|
|
- return new SWriter();
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- public Reader asReader() {
|
|
|
|
|
- return new SReader();
|
|
|
|
|
|
|
+ public StrBuilder reverse() {
|
|
|
|
|
+ NativeArrayUtils.reverse(size, NativeArray.wrap(buffer));
|
|
|
|
|
+ return this;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public StrBuilder open() {
|
|
public StrBuilder open() {
|
|
@@ -417,6 +376,47 @@ public final class StrBuilder implements CharSequence, Appendable, Serializable
|
|
|
return this;
|
|
return this;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public boolean equals(Object object) {
|
|
|
|
|
+ if (this == object) {
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!(object instanceof StrBuilder)) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ StrBuilder other = (StrBuilder)object;
|
|
|
|
|
+ if (this.size != other.size) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ for(int i=0; i<size; i++) {
|
|
|
|
|
+ if(this.buffer[i] != other.buffer[i]) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public int hashCode() {
|
|
|
|
|
+ return NativeArray.wrap(buffer).hashCode(0, size);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public String toString() {
|
|
|
|
|
+ return new String(buffer, 0, size);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public StringBuilder toBuilder() {
|
|
|
|
|
+ return new StringBuilder(size).append(buffer, 0, size);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public Writer asWriter() {
|
|
|
|
|
+ return new SWriter();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public Reader asReader() {
|
|
|
|
|
+ return new SReader();
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
private final class SReader extends Reader {
|
|
private final class SReader extends Reader {
|
|
|
|
|
|