---String类---

在c语言中要使用字符串,只能通过字符指针或者字符数组,然后再通过函数进行各种操作,这种将变量和变量方法分开的方式显然不符合面向对象的编程,所以java中添加了String这个类

String类构造

而对于string有很多的方法

字符串长度的计算,.length()

String只是一种类,而字符串的储存其实是储存在字符数组中的

字符串之间的比较

如果用==直接比较,那么比较的就是俩字符串之间地址,若要比较俩字符串的值,那么就要使用

equals去比较,返回值是boolean类型

compareTo 返回值是int类型

若俩字符相同,那么就返回0 ,若不相同,就放回引用对象于参数字符的不同字符之间的差值

也就是one - two 对应的不同的就是 H - h 

字符串查找

得到字符串下标对应的字符,charAt(int)

indexOf(), 查找字符,若出现着放回第一次出现的位置,若没有着放回-1,参数也可以是字符串

会放回字符串对应的第一个字符所对应的位置

可以以在加一个整形类型的参数,表示重这个地方开始查找

第一个参数也可以传数字,会根据字符对应ascll码值进行查找

数字与字符串数字之间的转换

数字 ---> 字符串

valueOf()

字符串 ---> 数字

转为int类型 Integer.parseInt()

转为Double类型,Double.parseDouble()

 大小写转换

toLowerCase()        toUpperCase()

字符串转数组

toCharArray()字符串转数组

格式化创建数组

String.format()    将对应的参数插入占位符后的字符串就是最终初始化的字符串

字符串替换

replaceall 和 replacefirst

  第一个参数regex 是要替换的元素,第二个replacement是要替换成的元素

replaceall是替换所有的regex为replacement

replacefirst是替换第一个regex 为 replacement

replace和replaceall的结果一样,只不过replaceall支持正则表达式,而replace不支持

字符串拆分 split

以参数regex拆分放到数组中,会删除regex对应字符,若参数后面无数字参数,那么就会全部都拆开,若有数字参数,那么就会按该参数的值来确定分为多少组

字符串截取  substring(begin,end)

截取范围包前不包后

去掉俩边的空格        trim()

会保留中间的空格

字符串修改

String类在设计时就是不可修改的

字符串是常量,其值在创建后不能更改。

储存字符串的变量使用了private修饰,说明它不能被直接引用,而String类中也没有能直接修改value这个数组的方法,所以无法修改

而所有涉及字符串修改的代码都是新创建一个对象,将修改好的值放到新对象中,再把新对象赋给该变量

 

对于字符串的修改应该避免直接 += 这样会创建新对象效率底下

这时我们就可以借助StringBuffer 和 StringBuilder着俩个类

着俩个类内置的方法和String一样,且更多

可以使用append去在字符串末尾添加字符

使用insert在指定位置之前插入

使用delete删除字符

删除【HA ,ha)这个区间的字符

而这俩个的类的差别是StringBuffer更适合多线程工作,更安全

StiringBuilder为采用同步处理,属于线程不安全工作

若要频繁修改字符串那么可以考虑使用StiringBuilder

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值