public class StringDemo {
//此代码用于更加深刻理解String类
public static void main(String[] args) {
String name = "衣衣";
//string 作为Java lang包下的一个类,可以通过调用构造器来创建string对象
//除了最基础也是最常用的创建对象方法,还有标准的创建对象的写法,但这种方法不用
String s1 = new String("hhh");
//还有一些比较常用,它可以将字符数组转换成字符串进行输出
char[] c = new char[]{'a', 'b', 'c'};
String s2 = new String(c);
System.out.println(s2);//abc
//另外Java给String的构造器中还有一种byte形参的,它可以把byte数组以Ascall码对应的字符然后转换成字符串输出
byte[] b = {65, 68, 69};
String s3 = new String(b);
System.out.println(s3);//ADE
//同时string的对象一样也是放在堆区的,而字符串变量存放的是对象在堆区的地址
//如果是以String name1 = "衣衣";这个方式创建的字符串对象,再创建一个String name2 = "衣衣";
//name1 存放的地址会和name2存放的地址一样
//而要是以String s2 = new String(c);方式创建的字符串对象,再创建一个String ss2 = new String(c);
//s2存放的地址不会跟ss2相同
name = "yy";
System.out.println(name);
//字符串比较最好不用==来比较,因为这样比较比较的是地址,如果是用户输入之类的创建出来的字符串对象,那个地址与原本用""来定义的地址不同
//String类中,有一个成员方法用于比较字符串内容的,equals(比较字符串内容是否严格相同,包括大小写)、equalsIgnoreCase(比较字符串内容,大小写可以不同)
String yesPassword = "123456";
String password = new String("123456");
System.out.println(yesPassword == password);//地址不同,结果为false
System.out.println(yesPassword.equals(password));//true
//String 常用的api 下面这些是Java中给String类中的成员方法
String ad ="Redmi K50,天玑8100,yyds";
//public int length() //用于返回字符串长度
System.out.println(ad.length());//21
//public char charAt(int index)//获取某个索引处的字符
System.out.println(ad.charAt(6));//K
//public char[] toCharArray() //将字符串转换成字符数组返回
char[] ch =ad.toCharArray();
for (int i = 0; i < ch.length; i++) {
System.out.print(ch[i]);
}//Redmi K50,天玑8100,yyds
System.out.println();
//public String substring(int beginIndex,int endIndex) //截取字符串,从开始和不包含结束索引处之间截取
System.out.println(ad.substring(0,9)); //Redmi K50
//public String substring(int beginIndex) //截取字符串,从开始处直接截取到最后
System.out.println(ad.substring(10)); //天玑8100,yyds
//public String replace(CharSequence target,CharSequence replacement) //将什么词替换成什么
System.out.println(ad.replace("yyds","xxx")); //Redmi K50,天玑8100,xxx
//public String[] split(String regex) //切割字符串,得到字符串数组进行返回
String[] rs =ad.split(",");
for (int i = 0; i < rs.length; i++) {
System.out.println(rs[i]);
}
}
}
Java中String类的深度理解
最新推荐文章于 2024-08-03 17:05:14 发布