Java常用类
一、String类
1、String类的初始化
(1)使用字符串常量直接初始化一个String对象。其语法格式如下
String 变量名 = 字符串;//字符串可以为空
(2)使用String的构造方法初始化字符串对象,其语法格式如下
String 变量名 = new String(字符串);
2、String类的常见操作
(1)字符串的基本操作
public class demo01 {
public static void main(String[] args) {
String s ="acdabefgab";
System.out.println("字符串的长度:"+s.length());
System.out.println("字符串中第二个位置上的字符:"+s.charAt(1));
System.out.println("字符a第一次出现的位置:"+s.indexOf('a'));
System.out.println("字符a最后一次出现的位置:"+s.lastIndexOf('a'));
System.out.println("子字符串ab第一次出现的位置:"+s.indexOf("ab"));
System.out.println("子字符串ab最后一次出现的位置:"+s.lastIndexOf("ab"));
}
}
结果:
(2)字符串的转换操作
public class Test1 {
public static void main(String[] args) {
String a = "IDEAJava";
char[] s =a.toCharArray(); //字符串转换为字符数组
//使用循环遍历字符数组
for(int i = 0;i<s.length;i++){
if(i!=s.length-1){
System.out.print(s[i]+",");
}else{
System.out.println(s[i]);
}
}
System.out.println("将int值转换为String类型之后的结果:" + String.valueOf(12));
System.out.println("将字符串转换成大写后的结果:" + a.toUpperCase());
}
}
结果:
(3)字符串的替换和去除空格操作
public class Test1 {
public static void main(String[] args) {
String s = " http:// local host :8080 ";
System.out.println("原字符串:"+s);
System.out.println("去除字符串两端的空格:" + s.trim());
System.out.println("去除字符串中所有空格" + s.replace(" ",""));
}
}
二、StringBuffer类
1、简介
在Java中,由于String类是final类型的,所以使用String定义的字符串是一个常量,因此它一旦创建,其内容和长度是不可改变的。如果需要对一个字符串进行修改,则只能创建新的字符串。
为了便于对字符串进行修改,在JDK中提供一个StringBuffer类来操作字符串。
StringBuffer类的内容和长度都是可以改变的。
StringBuffer类似一个字符容器,当在其中添加或删除字符时,所操作的都是这个字符容器,因此并不会产生新的StringBuffer对象。
2、常用方法
public class Test1 {
public static void main(String[] args) {
System.out.println("=========添加=========");
add();
System.out.println("=========修改=========");
update();
System.out.println("=========删除=========");
delete();
}
//添加
public static void add(){
StringBuffer stb = new StringBuffer("abc"); //定义一个字符串缓冲区
stb.append("ABCD"); //添加字符串
System.out.println("添加后的结果:"+stb);
stb.insert(2,0);
System.out.println("插入后的结果:"+stb);
}
//修改
public static void update(){
StringBuffer stb = new StringBuffer("abcdef"); //定义一个字符串缓冲区
stb.setCharAt(2,'x'); //修改指定位置的字符
System.out.println("修改指定位置后的结果:" + stb);
stb.replace(0,2,"99");
System.out.println("修改后的:" + stb);
}
//删除
public static void delete(){
StringBuffer stb = new StringBuffer("abcdefgh"); //定义一个字符串缓冲区
stb.delete(1,4); //指定范围删除
System.out.println(stb);
stb.deleteCharAt(0); //指定位置删除
System.out.println(stb);
stb.delete(0,stb.length());//清楚缓冲区
}
}
结果:
三、String类与StringBuffer类的区别
1、String类定义的字符串是常量,一旦创建后,内容和长度都是无法改变的。StringBuffer表示字符容器,其内容和长度都是可以随时修改。
2、String类重写了Object类的equals()方法,而StringBuffer类并没有
3、String类对象可以用操作符+进行连接,而StringBuffer对象之间不能。