java自定义一个GetStr的方法_Java高级特性--自定义一个StringBuilder的类

案例讲解--自定义一个StringBuilder的类

ac72e2a76de06f1399ba46e03ac4c6ff.png

一:案例设计介绍

自义一个M定yStringBuilder来实现StringBuilder的功能

二:案例设计

实现append()方法追加字符串的功能

实现length()方法统计字符串的功能

实现capacity()方法获取容量大小

实现toString()方法,完成字符串的输出

三:方案实施

class MyStringBuilder{

构造方法{

//做初始化

}

//常用的方法

public int append();

public int length();

public capacity();

public toString();

}

四:具体实施步骤

public class StringBuilder{

public static void main(String []args){

MyStringBuilder msb=new MyStringBuilder();

msb.append("abc").append("world").append("hello");

//msb.append("world");

System.out.println("字符个数:"+msb.length());

System.out.println("容量大小:"+msb.capacity());

System.out.println("输出字符串:"+msb.toString());

}

}

class MyStringBuilder{

private char [] value; //字符数组

private int count=0; //字符数组中存放字符的个数

public MyStringBuilder(){

value=new char[16];

}

public MyStringBuilder(int capacity){

value=new char[capacity];

}

public MyStringBuilder(String str){

value=new char[str.length()+16];

}

//得到字符数组中的字符个数

public int length(){

return count;

}

//返回容器容量大小

public int capacity(){

return value.length;

}

//实现字符串的追加(添加)

public MyStringBuilder append(String str){

int len=str.length; //获取要添加字符串的长度

//确保所添加的字符串能放到字符数组中

ensureCapacity(count+len);

//把要添加的字符串追加到新的指定数组的指定位置后面

str.getChars(0,len,value,count);

count+=len; //元素的个数增加了

return this;

}

public void ensureCapacity(int capacity){

//数组超出容量的大小

if(capacity-value.length>0){

int newCapacity=value.length*2+2; //扩容后新字符数组的大小

value=Arrays.copyOf(value,newCapacity);

}

}

//把字符串数组的字符转换为字符串显示

public String toString(){

return new String(value,0,count);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值