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

黑马程序员——java复习总结——字符串

2015-08-13 15:53 435 查看
------- android培训java培训、期待与您交流! ----------

一、String类

String类代表字符串,java程序中所有的字符串字面值(如”abc”)都作为此类的实例实现。他没有子类,字符串是常量,他们的值在创建之后就不能被更改。

1.1 字符串的创建方法

String s1 = new String(“abc”);

String s1 = “abc”;

如上,就是字符串的两种创建方法,字符串最大的特点是一旦被初始化就不可能被改变。但是指向字符串的类类型变量是可以变的,如上,就是s1可以变化,不能变的是”abc” 的内容。

1.2 字符串的判断方式

在String类中,复写了Object中的equals方法,建立了自己独特的判断内容方式,该方法用于判断字符串是否相等。

1.3 s1和s2的区别

String s1 = “abc”;

String s2 = new String(“abc”);

对于s1和s2的区别:

s1有一个对象,就是”abc”;

s2有两个对象,分别是”abc”,和new String;

1.4 常量池

字符串在内容中有一个常量池,用于存放字符串。如果用到这个常量池中没有的字符串,那么就会创建这个常量,如果有这个常量,就不会创建新的常量,而使用已有的常量。

二、字符串的操作方法

String类适用于描述字符串事物,那么就提供了多个方法对字符串进行操作,而字符串的常见操作有,获取,判断,转换,替换。

2.1 获取

2.1.1 获取长度,也就是字符串的长度;

int length();

2.1.2 根据位置获取位置上的某个字符

char charAt(int index);

2.1.3 根据字符获取该字符在字符串中的位置

int indexOf(int ch);返回的是ch在字符串中第一次出现的位置

int indexOF(int ch,int fromIndex);从指定位置开始,获取ch在字符串中的位置。

int indexOf(String str);返回str在字符串中第一次出现的位置

int indexOF(String str,int fromIndex);从指定位置开始,获取str在字符串中的位置

2.2 判断

2.2.1 字符串中是否包含某一个子串

boolean contains();

特殊之处:indexOf(String str):可以索引str第一次出现位置,如果返回-1表示str不存在,所以也可以用indexOf判断字符串是否包含。

2.2.2 字符串中是否有内容

boolean isEmply():原理就是判断字符串长度是否为零。

2.2.3 字符串是否以指定内容开头

boolean startWith(String str);

2.2.4 字符串是否以指定内容结尾

boolean startWith(String str);

2.2.5 判断字符串内容是否相同

boolean equals(String str);复写了Object类中的equals。

2.2.6 判断内容是否相同并忽略大小写

boolean equalsIgnoreCase();

2.3 转换

2.3.1 将字符数组转成字符串

String(char[])

String(char[],offset,count);将字符数组中的一部分转成字符串。

静态方法:

static String copyValueOf(char[]);

static String copuValueOf(char[] data,intoffset,int count)

static String valueOf(char[]);

2.3.2 将字符串转成字符数组

char toCharArray[];

2.3.3 将字节数组转成字符串

String(byte[])

String(byte[],offset,count);

2.3.4 将字符串转成字节数组

byte[] getBytes[];

2.3.5 将基本数据类型转成字符串

static String valueOf(int);

但是还有另外一种方式,比如3+””;也可以将3转成字符串,所以这并不常用

static String valueOf(double);

2.4 替换

2.4.1 替换字符

String replace(old char,new char);

原字符串不变,返回一个新字符串,若找不到被替换的字符,则返回原字符串。

2.4.2 替换字符串

String replace(old String,new String);

2.5 切割

String[] split(String)str;

传入一个要切割的符号,返回的是一个字符串数组

2.6 获取子串

subString(int begin);

从指定位置到结尾处

subString(int begin,int end) ;

从指定位置到指定结尾,包含头不包含尾。

2.7 转换,去除空格

2.7.1 将字符串转成大写或者小写

String toUpperCase();

String toLowerCase();

2.7.2 将字符串两端的多个空格去除

String trim();

2.7.3 对两个字符串进行自然顺序的比较

int compareTo(String);将两个字符串依次比较,返回整数负数或者零表示大小。

三、StringBuffer

3.1 StringBuffer的概念

StringBuffer是一个容器,可以对字符串的内容进行修改,它有很多和String相同的方法,StringBuffer的长度是可变的。

3.2 StringBuffer的方法

StringBuffer和String类很像,也有着操作字符串的方法,有存储,删除,获取,修改四类方法。

3.2.1 存储

StringBuffer的存储方法有两种

append();将字符串存储到StringBuffer容器中。

insert(int index,String str);将数据插入指定位置。

3.2.2 删除

delete(int begin,int end);删除缓冲区的数据,含头不含尾

deletecharAt(int index)删除指定位置的数据

3.2.3 获取

char charAt(int index);获取指定位置的字符

int indexOf(String str)获取字符串的位置

String substring(int start,int end);返回的是一个String,含头不含尾

3.2.4 修改

replace(int start,int end,String str);替换,含头不含尾的替换

setcharAt(int index,char ch);替换指定位置的字符

3.2.5 反转

reverse();反转字符串。

3.3 StringBuilder

它是后期1.5版本出现的String容器,和StringBuffer用法一样,唯一不同的是不同步。

即是升级出现的,升级的三个因素有:

方便书写;提高效率;提高安全性。

四、基本数据类型对象包装类

4.1 基本数据类型

基本数据类型是有8种,分别是byte,short,int,long,boolean,float,double,char。

它们对应的包装类是:



通过将基本数据类型包装成对象,就可以使用这些对象的方法。

4.2 Integer建立对象时的小特性



运行结果:



对于Integer对象,内存中也有一个小于常量池,对于小于byte类型(128)的数,若已经存在就不会再开辟新的空间,所以对于两个127的Integer是执行同一地址的,但是128则不是。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: