第54集:String类的常用方法
String类常用方法
查找:endsWith、startsWith、indexOf、lastIndexOf
比较:equals、、equalsLgnoreCase、compareTo
创建并返回一个新的String对象:contact、replace、substring、toLowerCase、toUpperCase、trim
将基本类型数据转换为字符串:public static String valueOf(…)
其它办法:charAt、length
课堂演示代码
package com.text054;
public class TextString {
public static void main(String[] args){
String str1 = new String("abcd");
String str2 = new String("abcd");
String str3 = "def";
//String str3 = "aaa";//不能改变字符串引用变量的引用对象
String str4 = "def";
String str5 = str1;
String str6 = str3;
System.out.println(str1 == str2);//str1与str2不是同一个对象
System.out.println(str1.equals(str2));//str1与str2类型相同,引用的数组中的元素也相同
System.out.println(str3 == str4);//str3与str4指向堆中方法区常量池中的同一常量
System.out.println(str3.equals(str4));//同上
System.out.println(str5 == str1);//str1的引用(对象地址)赋值给str5后,str5与str1便指向了同一对象
System.out.println(str6 == str3);//str3的引用(对象地址)赋值给str6后,str6与str3便指向了同一对象(常量池中的常量)
//String类的replace方法用于替换字符串中某一个值
String str7 = str3.replace('e','*');// 经过str3操作后,str3的值没变,str7获得的是str3的复制!!!
System.out.println(str7);
//String类的indexof方法用于查询字符串中某一个字符的索引值
int a = str3.indexOf(2);//找不到检索的字符输出-1
int b = str3.indexOf('e');//单引号是字符,双引号是字符串,这里倒没啥区别
int c = str3.indexOf("e");//同上
System.out.println(a);
System.out.println(b);
System.out.println(c);
//String类的substring方法用于裁减字符串(从当前索引值开始)
String str8 = str3.substring(1);//从1截取对象
System.out.println(str8);
// String str9 = str3.substring(-1);//从-1截取,报错。
// System.out.println(str9);
//String类的split方法用于按照指定字符分割字符串
String str10 = "aaa,bbb,ccc,ddd";
String[] strlist = str10.split(",");
for(int i = 0;i<strlist.length;i++){
System.out.println(strlist[i]);
}
//trim用于去除首尾空格
String str11 = " abc ";
String str12 = str11.trim();
System.out.println(str12);
//toString用于返回调用对象本身
String str13 = "zxc";
String str14 = str13.toString();//将str13引用指向的对象赋值给str14
System.out.println(str14);
System.out.println(str13==str14);
//toCharArray用于将字符串转换为字符数组
String str15 = "asdf";
char[] str16 = str15.toCharArray();
System.out.println(str16);
for(int i = 0;i<str16.length;i++){
//System.out.println(str15[i]);//str15不是数组,是字符串,所以它不能这样像数组一样输出
System.out.println(str16[i]);//str16是字符数组。
}
}
}