String 类中的方法、==号于equals的区别 、String中的常量池

String中有且不常用的方法

今天我们说些String 中不太常用的方法;

String中有且不常用的方法
*/
	public static void method() {
		String str = "hi juni";
		System.out.println("指定索引处的char值:"+str.charAt(1));
		System.out.println("指定char值对相应的索引:"+str.indexOf('i'));//从前往后
		System.out.println("指定char值对相应的索引:"+str.lastIndexOf('i'));
		String compare1 = "adc";
		String compare2 = "aac";
		//compareTo 判断谁的char数大,
		System.out.println(compare1.compareTo(compare2));
		//concat()将字符串拼接
		System.out.println(compare2.concat(compare1));
		System.out.println("是否包含指定的字符串:"+str.contains("hello"));//返回值为boolean类型
		String url = "https:\\baidu.com";
		
		System.out.println(url.endsWith("cn"));
	}

String中的equals与==号的区别

equals与==号同样是返回布尔值,但是他们比较的并不相同。
=号用于基本数据类型时比较的是值,引用数据类型时比较的是地址
equals方法对于没有重写的引用数据类型而言比较的是地址,对于重写后的比较的是里边的字符是否相同。

//String中的equals与==号的区别
public class Equals {
	public static void main(String[] args) {
		String  test = new String("a,b,c");//通过new创建对象在堆中
		String  test1 = new String("a,b,c");
		String  test2 = test;
		test2 = "s,e,q";
		System.out.println(test.equals(test1));//true
		System.out.println(test.equals(test2));//false
		System.out.println(test == test1);//false
		
	}

}

String中的常量池

字符串常量都在常量池(方法区)中存储,是有自己的地址的,通过new关键字创建出来的对象在堆内存中加载。
常量池:如果要指定某一个常量进行使用,首先会去常量池中查看该常量是否已存在,如果已存在直接拿来用,如果不存在就创建一个放进常量池中String str6 = "hello"; String str7 = "world"; String str8 = str6 + str7;//对已经创建好的对象进行拼接 String str9 = "helloworld"; System.out.println(str8 == str9);//flase System.out.println(str8.equals(str9));//true

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值