您的位置:首页 > 职场人生

黑马程序员 StringBuffer类和包装类

2013-12-20 12:57 417 查看
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

StringBuffer类和包装类

StringBuffer

(1)字符个数可以发生改变的字符串类。字符串缓冲区类。

(2)与String的区别?

String一旦被赋值,值不能发生改变。而StringBuffer,值还可以改变。

为什么呢?

StringBuffer采用的是缓冲区机制。

一开始,首先开辟一些空间,然后,随着数据的最多,然后,还可以继续开辟空间。这些操作针对的是同一个对象。

(3)构造方法:

A:StringBuffer()

B:StringBuffer(int capacity)

C:StringBuffer(String str)

(4)成员方法:

A:添加功能

public StringBuffer append(int i):在末尾追加元素

public StringBuffer insert(int index,int i):在指定位置添加元素

B:删除功能

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

StringBuffer delete(int start, int end):删除指定开始位置和结束位置间的字符

C:替换功能

StringBuffer replace(int start, int end, String str)

把开始到结束位置的字符用一个新的字符串给替换。

D:截取功能

String substring(int start):从指定位置到末尾截取

String substring(int start, int end): 从指定位置到结束位置截取

E:反转功能

StringBuffer reverse():字符串反转

包装类

(1)基本类型的数据我们只能使用值,不能做更多的操作。为了方便我们操作,

java就把每种基本类型进行了包装。提供方法供我们使用。

(2)基本类型和包装类的对应关系

byte

short

int Integer

long

float

double

char Character

boolean

(3)Integer构造方法

A:Integer i = new Integer(int num);

B:Integer i = new Integer(String s);

注意:s必须是一个由数字字符组成的字符串。

(4)String和int类型的转换

A:String -- int

Integer:

public static int parseInt(String s)

B:int -- String

Integer:

public static String toString(int i)

String:

public static String valueOf(int i)

(5)JDK5以后的新特性

A:自动装箱
基本类型--引用类型

B:自动拆箱
引用类型--基本类型

举例:

Integer i = 100;
// 默认相当于new Integer(100)
i += 200;
// 等价于 ii = new Integer(ii.intValue()+200);


(6)面试题:byte常量池
Integer i1 = new Integer(127);
Integer i2 = new Integer(127);
System.out.println(i1 == i2);// false
System.out.println(i1.equals(i2));// true

Integer i3 = new Integer(128);
Integer i4 = new Integer(128);
System.out.println(i3 == i4);// false
System.out.println(i3.equals(i4));// true

Integer i5 = 128;
Integer i6 = 128;
System.out.println(i5 == i6);// false
System.out.println(i5.equals(i6));// true

Integer i7 = 127;
Integer i8 = 127;
System.out.println(i7 == i8);// true
//因为有byte常量池,所以在byte表示的数范围内的会在byte常量池中找
System.out.println(i7.equals(i8));// true


----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐