常用类(String),方法示例

本文深入探讨Java中String类的各种操作,包括字符串连接、比较、截取、替换等常见方法的使用,以及它们在不同场景下的表现。同时,解析了字符串在编译期和运行期的行为差异,帮助理解字符串在内存中的存储机制。

面试题(直接赋值字符串连接时,考虑编译器和运行期,如果在编译期值可以确定,直接
copy常量池的对象,不会创建新对象,否则会创建新对象.)

1.
	String a ="a"; 
	String a1= a+1;
	String a2 = "a1";
	boolean result= (a1==a2);       //a1创建了新对象,所以 result=flase;
2.
	final String a = "a";
	String a1 = a+"1";
	String a2 = "a1";
	boolean result = (a1==a2);  
	 //a在常量池存在,所以a1不用创建对象,result=true;
3.
	private static String getString(){
		return "a";
	}
	String a = getString();
	String a1= a+1;
	String a2 = "a1";
	boolean result = (a==b); //a是通过方法获取值,所以编译期,a1=a+1,会创建对象
		所以 result =false;
4.
	private static String getString(){
		return "a";
	}
	final String a = getString();
	String a1= a+1;
	String a2 = "a1";
	boolean result = (a==b); 
	//虽然a是final  但还是通过方法获取值,所以编译期,a1=a+1,会创建对象
		所以 result =false;





String

方法简单使用

equals(Object);比较字符串的值,是否相等,区分大小写 返回类型:boolean

		String a ="a";
		String b = new String ("a");
		a.equals(b)    //true

equalsIgnoreCase(Object);比较字符串的值,是否相等,不区分大小写 返回类型:boolean

		String a ="aB";
		String b = new String ("ab");
		a.equalsIgnoreCase(b)   //true

charAt(int);取下标处的字符 返回类型:int

		String a ="Hey,Java! Hello Word!";
		char b = a.charAt(4); //b =J

length();获取字符串的长度 返回类型:int

		String a ="Hey,Java! Hello Word!";
		a.length();

isEmpty();判断字符串长度是否为0; 返回类型:boolean

		String a ="Hey,Java! Hello Word!";
		a.isEmpty(); //false;

toUpperCase(); 转换字符串为大写(原字符串不变) 返回类型:String

		String a ="Hey,Java! Hello Word!";
		String b = a.toUpperCase(); //b=HEY,JAVA! HELLO WORD!

toLowerCase(); 转换字符串为小写(原字符串不变) 返回类型:String

		String a ="Hey,Java! Hello Word!";
		String b = a.toLowerCase(); //b=hey,java! hello word!

trim(); 去掉字符串两端的空格(登录是用于校验,如误输入了空格) 返回类型:String

		String a ="   Hey,Java! Hello Word!  ";
		a.trim();

concat(String);连接字符串,和+差不多, 但效率比+号高很多(大概1倍) 返回类型:String

		String a ="Hello";
		String b = a.concat(",").concat("Hey,").concat("Java!");
		//b=Hello,Hey,Java!

indexOf(String str); 查找b在a中首次出现的位置 返回类型:int

		String a = "Hey,Java! Hello Word!";
		int index = a.indexOf("Java"); //index =4

lastIndexOf(String str); 查找b在a中最后一次出现的位置 返回类型:int

		String a = "Hey,Java! Hello Java Word!";
		int index = a.lastIndexOf("Java"); //index =16;

substring(int begenIndex,int endIndex);截取从begenindex到endindex的字符串,不包含endindex这一位, 返回类型:String

		String a = "Hey,Java! Hello Java Word!";
		a.substring(4,8);//截取java字符串

startsWith(String prefix); 判断字符串是否以prefix开头 返回类型:boolean

		String a = "Hey,Java! Hello Java Word!";
		boolean result = a.startsWith("Hey");//result=true

endsWith(String prefix);判断字符串是否以prefix结束 返回类型:boolean

		String a = "Hey,Java! Hello Java Word!";
		boolean result = a.endsWith("rd!"); //result=true

contains(String s) 判断字符串是否包含s 返回类型:boolean

		String a = "Hey,Java! Hello Java Word!";
		boolean result = a.contains("llo"); //result=true

replace(old,new);替换字符串中的字符,把old换成new 返回类型:String

		String a = "Hey,Java! Hello Java Word!";
		String b=  a.replace("Java","good");

split(String regex); 拆分字符串 返回类型 String []

		String a = "2019-04-28";
		String[] b =a.split("-");//得到[2019, 04, 28]

static join(分隔符,字符串); 把多个字符串用分隔符连接 返回类型String

		String a = "2019-04-28";
		String[] b =a.split("-");  //得到[2019, 04, 28]
		String c = String.join("/", b);//得到2019/04/28

getBytes(String 编码格式);把字符串编码成 byte[] 返回类型:byte[]

		String a = "Hey,世界";
		byte [] bytes = a.getBytes();
		//bytes = [72, 101, 121, 44, -28, -72, -106, -25, -107, -116]

new String(byte[] bytes,编码格式); 把byte[]解码成字符串 返回类型:String

		byte[] bytes = {72, 101, 121, 44, -28, -72, -106, -25, -107, -116};
		String str = new String(bytes);
		//str= Hey,世界

String.valueOf(int ); int 转字符串 返回类型:String

		int a  =100;
		String b = String.valueOf(a);
		//b="100";

Integer.parseInt(String); String 转int; 返回类型:int

		String a = "100";
		int b = Integer.parseInt(a);
		//b=100;
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值