package pack2;
public class MyStringBuilder2 {
private String s;
public MyStringBuilder2() {
s = null;
}
public MyStringBuilder2(char[] chars) {
this(String.valueOf(chars));
}
public MyStringBuilder2(String s) {
this.s = s;
}
/**返回在指定偏移量插入字符串的对象*/
public MyStringBuilder2 insert(int offset, MyStringBuilder2 s) {
String first = this.s.substring(0, offset);
String second = this.s.substring(offset);
return new MyStringBuilder2(first + s + second);
}
/**返回逆转的对象*/
public MyStringBuilder2 reverse() {
char[] chars = new char[s.length()];
for (int i = 0, j = s.length() - 1; i < chars.length; i++, j--)
chars[i] = s.charAt(j);
return new MyStringBuilder2(chars);
}
/**返回从指定下标开始的子串*/
public MyStringBuilder2 substring(int begin) {
return new MyStringBuilder2(s.substring(begin));
}
/**返回大写*/
public MyStringBuilder2 toUpperCase() {
return new MyStringBuilder2(s.toUpperCase());
}
@Override
public String toString() {
return s;
}
//——————————————————————————————————————————————————————————————————
public static void main(String[] args) {
MyStringBuilder2 mBuilder2 = new MyStringBuilder2(new char[] {'f', 'g'});
System.out.println(mBuilder2.insert(1, new MyStringBuilder2("String bulider")));
System.out.println(mBuilder2);
System.out.println(mBuilder2.toUpperCase());
System.out.println(mBuilder2.reverse());
System.out.println(mBuilder2.substring(1));
}
}