java中的StringBuffer和StringBuilder的用法,系统关键字之间的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HKDxiaofan/article/details/78806703

StringBuff和StringBuilder的使用
StringBuffer和StringBuilder是系统的类,两者和字符串的区别都是可变的字符序列.
但是不同的是StringBuffer是线程安全的,比较消耗资源的类,StringBuilder是线程不安全,节省资源的类
下面我们看一下StringBuffer比较常用到的系统API
定义一个StringBuffer的对象

 StringBuffer sb  = new StringBuffer();//初始化StringBuff的对象
 StringBuffer sb1 = new stringBuffer("abcd");//将字符串转换成StringBuff类型的

添加一个字符串

StringBuffer sb = new StringBuffer();
StringBuffer sb1 =  sb.append("fanjunnan");
System.out.println(sb1);
StringBuffer sb2 = sb1.append("HKD");
StringBuffer sb3 = sb2.append("xiaoFan");
System.out.println(sb1);
System.out.println(sb2);
System.out.println(sb3);
//打印出来的结果都一样,说明几个变量都是指向的是同一个地址
//两次sb1的输出结果不一样,说明StringBuff长度是可变的,对StringBuff操作的时候改变的是他的本身

插入一个字符串/数字/字符

StringBuffer sb = new StringBuffer();
sb.insert(0,"fanjunnan");//在可变字符串的0下标出插入字符串
sb.insert(3,12);//将sb字符串的3下标处插入一个数字12,实际上是系统将12转换为字符串后再加入到字符串中的

删除一段字符串

StringBuffer sb = new StringBuffer();
sb.insert(0,"fanjunnan");
sb.delete(3,5)//从字符串下标3处开始删除字符串,一直到下标5(5处是不删除的)
System.out.println(sb);

输出的结果是:fannnan

替换字符串或者字符

StringBuffer sb = new StringBuffer();
sb.insert(0,"fanjunnan");
sb.replace(0,3,ha);//将sb中下标0到下标2的字符串替换为"ha",注意此次下标3处是不被替换
System.out.println(sb);

输出的结果是:hajunnan
可变字符串的反转

StringBuffer sb = new StringBuffer();
sb.insert(0,"fanjunnan");
sb.reverse();//将可变字符串sb前后反转
System.out.println(sb);

输出结果是:nannujnaf

权限修饰符
常见的权限修饰有public(公开的),protected(受保护的),default(默认的),private(私有的)
其中public权限修饰符修饰的对象,无论是在本类,同包子类,同包中的其它类,还是不同包的子类和不同包的其它类都是可以访问到的;
protected权限修饰符修饰的对象,当在本类,同包的子类,同包的其它类和不同包的子类中可以访问到,但是在不同包的其它类中是无法访问的
当对象前面没有权限修饰符的时候,就是default权限,此时在本类和同包中的类可以访问到,在不同包的子类和不同包的其它类是无法访问到的
private修饰的对象,只有本类中可以访问到

基本数据类型和包装类
包装类就是指将基本数据类型封装成一个类,封装后,包装类相对于基本数据类型的优势可以调用成员方法
基本数据类型有int,short,long,byte,float,double,char,boolean这几种,
相对的被封装成的包装类是integer,Short,Long,Byte,Float,Double,character,Boolean
将字符串转换成integer类型

Integer integer2 = new Integer("123");

将int型的转换成integer类型

Integer integer2 = new Integer(60);

将integer转换成int类型的

Integer integer2 = new Integer("123");
int number= integer2.intValue();//将integer类型的转换成int类型的

将一部分字符串转换成int类型的

int number2 = Integer.parseInt("123456");

integer中自动装箱和自动拆箱

Integer number= 10;//自动装箱

实际上系统将int类型的10,通过 new Interger()将10转换为integer类型的,称为自动装箱

integer number1 = 10;
int number2 = number1 + 10;//自动拆箱

实际上系统将number1通过invalue()将integer类型的转换为int类型的

展开阅读全文

没有更多推荐了,返回首页