8.StringBuffer

 

StringBuffer是字符串缓冲区,一个容器;

特点:

1,长度是可变化的;

2,可以直接操作多个数据类型

3.最终会toString方法变成字符串;

C : create U : update  R : read  D: delete

1,存储

StringBuffer append(): 将指定数据作为参数添加到已有数据结尾处

StringBuffer insert(索引,数据);可以将数据插入到指定索引位置;如果超出索引范围,发生角标越界异常;

Public static void main(String[] args) {

StringBuffer sb= new StringBuffer();

StringBuffer sb1= sb.append(“abc”);

// sb == sb1;

sb.insert(1,”xxx”);//在字符串”abc”1号索引处添加”xxx”;

}

2,删除

StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end;

StringBuffer sb = new StringBuffer("abcdeg");

sb.delete(1, 3);

System.out.println(sb);//adeg

StringBuffer deleteCharAt(index):删除指定位置的字符;

sb.deleteCharAt(0);

System.out.println(sb);//bcdeg

 

3.获取

char charAt(intindex) :获取指定索引处的字符;

intindexOf(String str) :返回字符串在容器中第一次出现的位置

intlastIndexOf(String str) :获取字符串在容器中最后一次出现的位置;

int length() : 容器的长度;

Stringsubstring(int start, int end) :获取子串,返回的是String;

4.修改

StringBufferreplace(start, end, string)将容器中从startend出的对象替换成string;

voidsetCharAt(int index, char ch)  将指定索引替换成字符;只替换单个;

5.反转;

StringBufferreverse();

6

将缓冲区中指定数据存储到指定字符数组中。

       voidgetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

 

 

JDK1.5 版本之后出现了StringBuilder.

 

StringBuffer是线程同步。

StringBuilder是线程不同步。

 

以后开发,建议使用StringBuilder

 

升级三个因素:

1,提高效率。

2,简化书写。

3,提高安全性。

*

基本数据类型对象包装类。

 

byte       Byte

short         short

int            Integer

long       Long

boolean    Boolean

float          Float

double        Double

char          Character

基本数据类型对象包装类的最常见作用,

就是用于基本数据类型和字符串类型之间做转换

 

基本数据类型转成字符串。

基本数据类型+""

基本数据类型.toString(基本数据类型值);

如: Integer.toString(34);//34整数变成"34";

字符串转成基本数据类型。

 

       xxxa = Xxx.parseXxx(String);

int a =Integer.parseInt("123");

double b =Double.parseDouble("12.23");

boolean b =Boolean.parseBoolean("true");

Integer i = newInteger("123");

int num =i.intValue();

 

十进制转成其他进制。

       toBinaryString();    Integer.toBinaryString(6)   //110

       toHexString();   Integer.toHexString(60)    // 3c

       toOctalString();

 

其他进制转成十进制。

       parseInt(string,radix);

int x = Integer.parseInt("3c",16);  //打印结果 : 60;

 

Java1.5版本以后出现的新特性:

class IntegerDemo

{

       publicstatic void main(String[] args)

       {

             

              //Integerx = new Integer(4);

 

              Integerx = 4;//自动装箱。//newInteger(4)

 

              x= x/* x.intValue() */ + 2;

//x+2:x 进行自动拆箱。变成成了int类型。和2进行加法运算。

              //再将和进行装箱赋给x

 

Integer m = 128;

              Integern = 128;

 

              sop("m==n:"+(m==n));

 

              Integera = 127;

              Integerb = 127;

 

              sop("a==b:"+(a==b));//结果为true。因为ab指向了同一个Integer对象。

//因为当数值在byte范围内容,对于新特性,如果该数值已经存在,则不会在开辟新的空间。

       }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值