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

黑马程序员——String类和基本数据类型包装类

2015-08-20 19:53 405 查看
——- android培训java培训、期待与您交流! ———-

黑马程序员String类和基本数据类型包装类
String类

StringBuffer

基本数据类型对象包装类

黑马程序员——String类和基本数据类型包装类

String类

字符串是一个特殊的对象。

Stings = new String();
String s1="";
两种写法都是在创建对象,使用起来一样。

字符串一旦初始化就不可以被改变。

String str = "abc"; String str1 = new String("abc");
有什么区别 ?

java运行环境有一个字符串池,由String类维护,执行语句String str = “abc”时:

首先查看字符串池中是否存在字符串”abc”,如果存在则直接将“abc”赋给str,如果不存在则先在字符串池中新建一个字符串”abc”,然后再将其赋给str.

执行语句String str = new String(“abc”)时。不管字符串池中是否存在字符串“abc”,直接新建一个字符串“abc”,(注意,新建的字符串“abc”不是在字符串池中),然后将其赋给str

由此可见1的效率要高于2。

String类部分方法

char charAt(int index)


返回指定索引处的 char 值。索引范围为从 0 到 length() - 1。序列的第一个 char 值位于索引 0 处,第二个位于索引 1 处,依此类推,这类似于数组索引。

int length()


返回此字符串的长度。

char[] to CharArray()


将此字符串转换为一个新的字符数组。

int indexOf(String str)


返回指定子字符串在此字符串中第一次出现处的索引。

boolean endsWith(String str)


测试此字符串是否以指定的后缀结束。

String[] split(String reg)


根据给定正则表达式的匹配拆分此字符串。

String substring(int index)


返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。

String substring(int beginIndex, int endIndex)


返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。

String(char[] arr)


分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。该字符数组的内容已被复制;后续对字符数组的修改不会影响新创建的字符串。

String内存图:



StringBuffer

字符串的组成原理就是通过该类实现的。

StringBuffer可以对字符串内容进行增删。

StringBuffer是一个容器。

很多方法与String相同。

StingBuffer是可变长度的。

StringBuffer特有方法

StringBuffer append(int x)


将参数的字符串表示形式追加到序列。

StringBuffer delete(int start, int end )


移除此序列的子字符串中的字符。该子字符串从指定的 start 处开始,一直到索引 end - 1 处的字符,如果不存在这种字符,则一直到序列尾部。如果 start 等于 end,则不发生任何更改。

StringBuffer insert(int index,String str)


按顺序将参数中的字符插入此序列中的指定位置,将该位置处原来的字符向后移,此序列将增加该参数的长度。

StringBuffer reverse();


将此字符序列用其反转形式取代。

JDK1.5出现一个StringBuilder,区别是StringBuffer是同步的,StringBuilder是非同步的。

基本数据类型对象包装类

对应关系:

基本类型包装类型
byteByte
shortShort
intInteger
longLong
booleanBoolean
floatFloat
doubleDouble
charCharacter
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。

常用的操作之一:用于基本数据类型与字符串之间的转换。

例:Integer的parseInt方法,intValue方法。

JDK1.5以后,简化了定义方式。

Integer x = new Integer(4);可以直接写成

Integer x = 4;//自动装箱。

x = x + 5;//自动拆箱。通过intValue方法。

需要注意:

在使用时,Integer x = null;上面的代码就会出现NullPointerException。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: