java String详解

String

直接赋值

String str=“hellow”;
只创建了一个内存空间

使用new关键字 String str=new String(“hellow”);

使用new关键字实例化String时会在堆内存中开辟2个空间,其中第一个空间没用,在等待垃圾回收器回收,
所以使用直接赋值的方式会更合理。

String str="hellow";
    String str1=new String("hellow");
    System.out.print(str==str1);
结果返回false,内存空间不同,所以返回false
-------------------------------------
str.equals(str1);//返回true
‘==’比较的是地址
‘equals’比较的是内容,在开发中多用equals

String内容不可更改(耗资源)

String str=“hellow”;
 str=str+“world”;
表面上是更改了,实际上是先在堆内存中开辟空间放‘hellow’,再开辟空间放‘world’,再开辟空间放‘hellowworld’,最终str指向--->‘hellowworld’,所以改变的只是对内存地址的指向

String的常用方法

字符串长度:length()
字符串转换数组:toCharArray()
从字符串中取出指定位置的字符:charAt()
字符串与byte数组的转换:getBytes()
过滤字符串中存在的字符:indexOf(),返回的是该字符在字符串中的位置
去掉字符串前后的空格:trim()
从字符串中取出子字符串:subString()
大小写转换:toLowerCase() toUpperCase()
判断字符串开头,结尾字符:endsWith() startWith()
替换String字符串中的一个字符:replace();

StringBuffer

认识StringBuffer

缓冲区,本身也是操作字符串,但是与String不同,StringBuffer可以更改
StringBuffer是一个操作类,所以必须通过实例化来操作,处理速度比String快

StringBuffer常用方法

append()---追加内容
insert(位置,内容)--插入
replace(开始位置,结束位置,替换内容)
indexOf()

StringBuilder

1.一个可变的字符序列,该类被设计作用StringBuffer的一个简易替换,用在字符串缓冲区,被单个线程使用时,建议优先考虑该类,速度比StringBuffer快。
2.但是如果涉及到线程安全,建议使用StringBuffer

StringBuilder常用方法

append()
insert()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值