定义自己StringBuilder

import java.util.Arrays;
public class MyStringBuilderDemo{
	public static void main(String[] args){
		MyStringBuilder msb1=new MyStringBuilder();
		msb1.append("hello").append(" world").append(".helloworldhello");
		System.out.println(msb1.length());
		System.out.println(msb1.totallength());
		System.out.println(msb1.toString());
		
		MyStringBuilder msb2=new MyStringBuilder(32);
		msb2.append("hello").append(" world").append(".helloworldhello");
		System.out.println(msb2.length());
		System.out.println(msb2.length());
		System.out.println(msb2.totallength());
		System.out.println(msb2.toString());
		
		MyStringBuilder msb3=new MyStringBuilder("helloworld");
		msb3.append("nihaohello");
		System.out.println(msb3.toString());
	}
}
class MyStringBuilder{
	private char[] values;
	private int count=0;
	public MyStringBuilder(){
		values=new char[16];
	}
	public MyStringBuilder(int num){
		values=new char[num];
	}
	public MyStringBuilder(String str){
		values=new char[str.length()];
		count=str.length();
		values=str.toCharArray();
	}
	//返回字符串的长度
	public int length(){
		return count;
	}
	//返回总容量的方法
	public int totallength(){
		return values.length;
	}
	//用来追加字符串的方法
	public MyStringBuilder append(String str){
		panduan(count+str.length());
		char[] chars=str.toCharArray();
		System.arraycopy(chars,0,values,count,str.length());
		count+=str.length();
		return this;
	}
	//输出MyStringBuilder中的字符串
	public String toString(){
		String str=String.copyValueOf(values,0,count);
		return str;
	}
	//用来判断字符长度是否超出了
	private void panduan(int num){
		if(num-values.length>0){
			int newlength=values.length*2+2;
			values=Arrays.copyOf(values,newlength);
		}
	} 
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值