String中复习知识点

String 笔记总结

String 概念

String java中最常用用到的类 代表字符串,任何东西都可以是字符串,String是引用类型 不是基本类型,在java中操作字符串由两种方式 String类就是最常用的一种,创建String 有两种方式,下面我们来看

String str1 = "abc";
String str2 = new String("abc");

通过以上方式我们知道String有两种创建方式,一种为直接赋值,一种为new对象方式来创建String对象的实例

  • 第一种种方式
    直接赋值,String 变量名 = 内容 这样的方式也是最方便的 当str1等于abc时String会在字符串常量池中创建abc字符串 如果此时有一个str3也等于abc那么str3所指向的堆地址和str1是一样的这就是String中一种缓存机制

  • 第二种种方式
    通过new对象来创建String实例这个时候String会在字符串常量池中创建abc字符串同时也会在堆内存中开辟空间创建abc但是str2所指向的是堆内存中的abc并不是字符串常量池中的abc

String 和 StringBuffer 和 StringBuilder 的区别

String不可变字符串一旦创建不可修改,如果修改只是转换引用
StringBuffer 可变字符串线程安全 应用于经常变化的字符串
StringBuilder 也是可变字符串 非线程安全

字符串如何反转

String中是没有反转方法的。需要通过StringBuilder的reverse方法来实现反转

==与equals区别

双=用于基本数值类型比较大小,对于引用类型比较的是堆内存的地址
equals用于比较具体内容通过hashcode来确定

以下内容进行判断
String a = "abc";
String b = a;
a == b // true
String c = "abc";
a == c //true
String d = new String("abc");
a == d;//false
a.equals(d);//true//比较具体内容

d.intern().equals(a);//true//讲d的内存地址指向了字符串常量池中所以为true

String 中常用方法

方法含义
substring(start,end);拆分字符串 通过开始下标与结束下标截取 返回新的字符串
indexOf(Srting args)返回子字符串的下标位置 未找到返回-1
toLowerCase()转小写
toUpperCase()转大写
replaceAll(String a,String b)替换字符串中所有内容
startsWith(String a)判断字符串中首个下标是否为指定内容返回boolean值
endsWith(String a)判断字符串最后一位是否为指定内容返回boolean值
trim()去除字符串中前后空格
replaceFirst(String a,String b)替换字符串中shou首个字符串
intern()讲字符串指向字符串常量池地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值