常见API——String类的常用方法

public class TestString {
	public static void main(String[] args) {
		//字符串常量会被放入常量池中
		String string="abc";
		String string2=new String("def");
		String string3="abd"+"dedsd";
		String string4="18"+19;  //不是加法  是字符串连接符
		System.out.println(string4);
		
		System.out.println("##################");
		//10 和 11是同一对象  在常量池中取得是同一个   12新建了对象
		String str10="gaoqi";
		String str11="gaoqi";
		String str12=new String("gaoqi");
		
		System.out.println(str10==str11);//ture
		System.out.println(str12==str11);//false
		
		System.out.println("$$$$$$$$$$$$$");
		//通常比较字符串时,使用equals  比较字符(不比较字符的时候,equals仍然比较的是地址)
		// ==比较的是地址是否一样,
		System.out.println(str12.equals(str11));
		
	}
public class TestString2 {
	public static void main(String[] args) {
		String s1="core java";
		String s2="Core java";
		
		System.out.println(s1.length());//提取字符串的长度
		System.out.println(s1.charAt(3));//提取下标为3的字符
		
		System.out.println(s2.length());//字符串的长度  空格也算一个长度
		
		System.out.println(s1.equals(s2));//比较两个字符串是否相等
		System.out.println(s1.equalsIgnoreCase(s2));//比较两个字符串,忽略大小写
		
		System.out.println(s1.indexOf("java"));//字符串s1中是否包含java,返回第一次出现的位置,没有则返回-1
		System.out.println(s1.indexOf("apple"));//字符串s1中是否包含apple
		
		String s=s1.replace(' ','&');//将s1中的空格替换成&
		System.out.println("result is:"+s);
	
		String s3="";
		String s4="How are you?";
		
		System.out.println(s1.startsWith("How"));//是否以How开头
		System.out.println(s1.endsWith("you"));//是否以you结尾
	
		s3=s4.substring(4);//提取子字符串,从下表为4的开始到字符串结尾为止
		System.out.println(s3);
		s3=s1.substring(4,7);//提取子字符串,下标[	4,7) 不包括7
		
		System.out.println(s3);
		s3=s1.toLowerCase();//转小写
		System.out.println(s3);
		s3=s1.toUpperCase();//转大写
		System.out.println(s3);
		
		s2=" How old are you?  ";
		s=s2.trim();//去除字符串首尾的空格,注意:中间的空格不能去除
		System.out.println(s);
		System.out.println(s2);//string是不可变字符串,s2不变
				
	    //将字符串转化为字符串数组(字符串的切割,涉及到了正则表达式)
		s1="张三,李四,王五";
		String[] arr=s1.split(",");
		for (int i=0;i<arr.length;i++) {System.out.println(arr[i]);}
		
		//将字符串转化为字符数组
		char[] arr2=s1.toCharArray();
		for (int i=0;i<arr.length;i++) {System.out.println(arr2[i]);}
		
		//将字符串转化为字节数组
		s1="ab你";
		byte[] bytes=s1.getBytes();
		for (int i = 0; i < bytes.length; i++) {System.out.println(bytes[i]);}
		}
}
        String string="aaaabbbb";  //本质上是一个char value[]-字符数组。有final修饰,只能赋值一次,故不可变
		String string2=string.substring(2,5);
		
		System.out.println(string);
		System.out.println(string2);
		
		//编译器做了优化,直接在编译的时候将字符串进行拼接
		String str1="hello"+"java"; //相当于str1="hello java";
		String str2="hello java";
		System.out.println(str1==str2); //true
		String  string3="hello";
		String  string4="java";
		
		//编译的时候不知道变量中存储的是什么,所以没法在编译时优化
		String str5=string3+string4;
		System.out.println(str2==str5);//false
		
		System.out.println(str2.equals(str5));//字符串比较时,用equals不用==
		

发布了38 篇原创文章 · 获赞 6 · 访问量 1926

猜你喜欢

转载自blog.csdn.net/weixin_43827227/article/details/97030564