String类的常用方法
concat()方法
用于将指定的字符串连接到原始字符串的末尾,并返回一个新的字符串。
示例:
String str1 = "Hello";
String str2 = "World";
String result = str1.concat(str2);
System.out.println(result); // 输出:HelloWorld
注:
concat()
方法只是将指定的字符串连接到原始字符串的末尾,并不会修改原始字符串本身。因为String类是不可变的,所以每次对字符串进行操作都会创建一个新的字符串对象。
equals()和equalsIgnoreCase()方法
equals方法用于比较两个字符串是否相等,它是区分大小写的。如果两个字符串的内容相同,则返回true;否则返回false。
equalsIgnoreCase方法也用于比较两个字符串是否相等,但它不区分大小写。
这两个方法的返回值都是布尔类型,可以用于判断两个字符串是否相等。需要注意的是,它们都是在比较字符串的内容,而不是比较字符串对象的引用。
示例:
String str1 = "Hello";
String str2 = "World";
String result = str1.concat(str2);
System.out.println(result); // 输出:HelloWorld
toCharArray()方法
将当前字符串内容转换为 char 数组并返回,返回值为 char[]
示例:
String str = new String("Hello World");
char[] cArr = str.toCharArray();
for (int i = 0; i < str.length(); i++) {
System.out.print(cArr[i]);//打印的是每个字母Hello World
}
charAt() 方法
用于返回字符串指定位置的字符,返回值为 char 类型,参数为 int 类型
示例:
String str = new String("Hello World");
char c = str.charAt(2);
System.out.println(c);//l
length()方法
返回字符串字符序列的长度(空格也算),返回值为 int 类型
String str = new String("Hello World");
System.out.println(str.length());*//11
substring()方法
str.substring(a, b)功能为:截取方法调用者(即str)的从at到b(包括a,不包括b;即含头不含尾、或左闭右开区间内的子字符串)
示例:
String str = "123456789";
System.out.println(str.substring(0,3)); //"123"
format()方法
将指定的 String 中的格式项替换为指定的 实例的值的文本等效项
格式控制符以%开头,常用的有以下几种 %s - 接受一个字符串并按照给定的参数格式化该字符串 %d - 接受一个数字并将其转化为有符号的整数格式 %f - 接受一个数字并将其转化为浮点数格式(小数),默认保留6位小数,不足位用0填充 %x - 接受一个数字并将其转化为小写的十六进制格式 %X - 接受一个数字并将其转化为大写的十六进制格式
例:
//5.2f小数点右边的数字表示小数点后面保留多少位,小数点前面的数字表示位数不足时的填充数
System.out.printf("%5.2f \n",10.0/3); // 3.33
String str2 = String.format("%.3f",10.0/7);//1.429
System.out.println(str2);
indexOf()方法
返回指数在此字符串中第一次出现的指定字符
返回值
-1表示没有查到字符
其他值表示字符出现的位置
通过此对象,或者-1表示的字符序列中的字符第一次出现的索引
示例:
String str1 = "hello work";
//indexof(字串) 返回字串中第一个字符的索引,如果找不到返回-1
System.out.println(str1.indexOf("el")); //1
System.out.println(str1.indexOf("e")); //1
System.out.println(str1.indexOf("a"));//找不到返回:-1
StringBuilder类
StringBuilder又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。
创建对象:
// 创建StringBuilder对象 StringBuilder bu = new StringBuilder();
append()方法
可以接收任意类型的参数。任何数据作为参数都会将对应的字符串内容添加到StringBuilder中。
代码示例:
sb.append(1);
sb.append('a');
sb.append("bcd");
System.out.println(sb);
insert()方法
insert(a, str)字符插入的顺序,在这个顺序的指定位置a后面插入字符串str
代码示例:
StringBuilder str = new StringBuilder("shuang");
str.insert(0,"ti");
System.out.println(str); //"tishuang"
str.insert(1,"ti");
System.out.println(str); //"stihuang"
reverse()方法
反转内容
StringBuilder a = new StringBuilder("hello world");
a.reverse();
System.out.println(a);// dlrow olleh
数据类型的转化
举例:
String str = "5";
int a = Integer.parseInt(str);
double b = Double.parseDouble(str);
byte d = Byte.parseByte(str);
short s = Short.parseShort(str);
//所有类型,转化成字符串
int zz = 456456;
String.valueOf(zz);
System.out.println(zz); //"456456"