java 2011-03-07(下)(我要过节啊啊啊啊啊啊)
来源:互联网 发布:知乐油烟机好不好用 编辑:程序博客网 时间:2024/06/06 00:17
字符串
java语言中的java.lang包中提供了两种类型的字符串类来处理字符串,它们是String类和StringBuffer类。对于一个字符串来说,
如果创建之后不需要改变,我们称之为字符串常量,String类就是用来存储和处理字符串常量;如果一个字符串创建之后需要对其进
行改变,则称之为字符串变量,StringBuffer类就是用于存储和处理字符串变量。
与其他编程语言不同的是,java中的字符串和数组都是java中的类,而不是基本的数据类型。
1.String类
1.1创建string类对象
在java语言中,创建String字符串的方法很多,这些方法成为String的构造方法,即用什么方法来生成String类的对象。
String str = new String();//生成空字符串
String str = new String("mystring");//通过传递参数生成一个字符串
String str = new String(char tmp[]);//通过字符数组来生成一个字符串对象
String str = new String(char tmp[]. int startindex . int char number);
//通过字符数组的一部分来生成一个字符串对象,startindex代表字符串在数组中的起始位置,charnumber代表包含的字符个数
由于java编译器会自动为每一个字符串常量生成一个String类的实例,因此字符串常量String有一个非常好的构造方法,只需用双引号括起一串字符即可直接初始化一个string对象。eg.String str="mystring";
使用双引号得到的其实已经是一个string类的对象,而new String(String)构造方法是对传入的参数String创建一个副本,这样的形式实际上是创建了两个String对象,性能是不划算的,应避免使用。
1.2操作String类对象
int length() 返回字符串长度,汉字也算一个字符
char charAt(int index)返回index+1位置的字符
int compareTo(String str)按字符顺序进行字符串比较
boolean equals(Object obj)和boolean equalIgnoreCase(String str)
判断字符串是否相等,前者区分大小写,后者不区分大小写
int indexOf(String str)和int lastIndexOf(String str)
返回字符串第一次出现str的位置,前者返回从前往后第一次出现str的位置,后者返回从后往前第一出现str的位置
boolean startsWith(String prefix)和boolean endsWith(String sufix)
前者判断该字符串是否以prefix为前缀,后者判断该字符串是否以sufix为后缀
char []toCharArray()
将字符串转为字符数组
1.3修改String类对象
String toLowerCase() String toUpperCase()
前者将字符串中所有大写字母转为小写,后者将字符串中所有小写转为大写
String substring(int began index ) String substring(int beganindex,int endindex)
这两个方法用来得到给定的字符串中指定的字符子串
replace(char ochar,char nchar)
将字符串中所有的ochar替换为nchar
concat(String otherstring)
用于将当前字符串与给定字符串连接起来
提示: 对给定字符串的各种修改操作并不会改变原有字符串的值。String对象是不可改变的,任何涉及到对String
类所表示字符串操作的方法,都是返回一个新创建的String对象,因此,在对一个String对象的使用中,往往会创建
大量并不需要的string实例,消耗了不必要的系统资源。
2.StringBuffer类
2.1创建StringBuffe类对象
StringBuffe()创建一个空的StringBuffe对象
StringBuffe(int length)设置初始容量
StringBuffe(String str)利用已有的String对象来初始化StringBuffer对象
2.2StringBuffe类成员方法
append(StringBuffer sb)
insert(int index,substring)
delete(int index,int end)
void setCharAt(int index.char c)
String toString()
将字符串变量StringBuffer转换为字符串常量String
提示:因为System.out.println()方法是不能接受可变串的,因此在打印StringBuffer之前要使用toString()方法将其转换为String
COMPARATION:
StringBuffer本质上是一个字符数组的操作封装,与String相比,任何修改性的操作都是在同一字符数组上进行的,而不像String那样为了线程访问安全创建大量副本对象。因为,如果是一段需要在一个字符串上进行操作的代码,推荐使用StringBuffer来提高性能。当然如果不考虑性能的话,可以全部选择String进行操作。
- java 2011-03-07(下)(我要过节啊啊啊啊啊啊)
- 啊啊
- 啊啊
- 啊啊
- 啊啊
- 啊啊
- 啊啊
- 啊啊
- 啊啊
- 啊啊
- 啊啊
- 啊啊
- 啊啊
- 啊啊
- 啊啊
- 啊啊
- 啊啊
- 啊啊
- pb-枚举类型的值如可验证
- C++ Hook(钩子)编程,通过内联汇编,使类成员函数代替全局函数(静态函数)
- eclipse常用快捷键分类总结
- MFC技术内幕系列之(二)---MFC文档视图结构内幕
- java class 是如何加载的
- java 2011-03-07(下)(我要过节啊啊啊啊啊啊)
- MFC技术内幕系列之(三)----MFC执行期类型识别与动态创建技术内幕
- 三个忠告
- 关于静态代码分析
- MFC技术内幕系列之(四)---MFC消息映射与消息传递内幕
- 调用工程中的theApp指针----AfxGetApp()
- C#获得客户端的IP,主机名 获取当前时间
- MFC技术内幕系列之(五)---MFC文档序列化内幕
- 通过Gridview生成excel