黑马程序员——StringBuffer、基本数据类型


-----------android培训java培训、java学习型技术博客、期待与您交流!------------

StringBuffer

是一个容器。

特点:

1、而且长度是可变化的。

2、可以操作多个数据类型。

3、最终会通过toString方法变成字符串。


C create 、 U update  、 R read 、 D delete

1、存储。

StringBuffer append():将指定数据作为参数添加到已有的数据结尾处。返回值为原缓冲区对象。

可以实现方法调用链。  sb.append("abc").append(true).append(34);

StringBuffer insert(index,数据):可以将数据插入到指定index位置。

2、删除。

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

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

清空缓冲区:sb.delete(0,sb.length());

3、获取。

char charAt(int index); //获取对应角标的字符串。

int indexOf(String str);//获取字符串第一出现的位置。

int lastIndexOf(String str);

String substring(int start,int end);

4、修改。

StringBuffer replace(int start,int end,String str);//使用给定String中的字符替换此序列的子 字符串中的字符。

void setCharAt(int index,char ch)

5、反转。

StringBuffer reverse()

6、void getChars(int srcBegin,int srcEnd, char[] dst, int dstBegin) 

dstBegin为存入dst数组的开始角标。


从1.5版本开始出现:StringBuilder()


StringBuffer是线程同步。

StringBuilder是线程不同步。


将StringBuilder的实例用于多个线程是不安全的。如果需要这样同步,则建议使用StringBuffer。



Java的升级三点原因:

1、提高效率。

2、简化书写。

3、提高安全性。


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

基本数据类型             引用数据类型

byte                    Byte

short Short

int Integer

long Long

boolean Boolean

float Float

double Double

char Character


//整数类型的最大值:Integer.MAX_VALUE

    最小值:Interger.MIN_VALUE

基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换。


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

基本数据类型+“”;

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

如: Integer.toString(34);//将34整数变成“34”;



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

xxx a = Xxx.parseXxx(String);

int a = Integer.parseInt("123");//必须传入数字格式的字符串。

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

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

static int parseInt(String s) :将字符串参数作为有符号的十进制整数进行解析。


十进制转成其他进制。

toBinaryString();

toHexString();

toOctalString();

其他进制转成十进制。

Integer.parseInt(String s,int radix);radix代表多少进制。


Integer x= 4;//自动装箱

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

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

Integer x = null;//语法正确。

所以在使用自动装箱和拆箱时要先判断值是否为null。




Integer m = 128;

Integer n = 128;


m==n;为false。


Integer a = 127;

Integer b = 127;


a==b;为true;

因为a和b指向了同一个Integer对象。

当数组在byte范围内时,对象新特性,来说,如果该数值已经存在,则不会再开辟新的空间。





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值