认识String类

1.String类常用方法

1.1字符串的构造

使用常量字符串构造

直接使用newString对象

使用字符数组进行构造

注意:

1.String是引用类型,内部并不存储字符串本身

2.在Java中用""引起来的也是String类型对象。

1.2 String对象的比较

1. ==比较是否引用同一个对象

注意:对于内置类型,==比较的是变量中的值;对于引用类型==比较的是引用中的地址。

2.boolean equals(Object anObject)方法:按照字典序比较

字典序:字符的大小的顺序。

String类重写了父类Object中equals方法,Object中equals默认按照==比较,String重写equals方法后,按照 如下规则进行比较,比如: s1.equals(s2)。

3.int compareTo(String s) 方法: 按照字典序进行比较

4.int compareToIgnoreCase(String str) 方法:与compareTo方式相同,但是忽略大小写比较

1.3 字符串查找

1.4转化

1. 数值和字符串转化

2. 大小写转换

3. 字符串转数组

4. 格式化

1.5字符串的替换

注意:由于字符串是不可变对象, 替换不修改当前字符串, 而是产生一个新的字符串。

1.6 字符串拆分

可以将一个完整的字符串按照指定的分隔符划分为若干个子字符串。

代码示例: 实现字符串的拆分处理。

代码示例: 字符串的部分拆分

拆分是特别常用的操作, 一定要重点掌握.,另外有些特殊字符作为分割符可能无法正确切分, 需要加上转义。

代码示例: 拆分IP地址

注意事项:

1. 字符"|","*","+"都得加上转义字符,前面加上 "\\" 。

 2. 而如果是 "\" ,那么就得写成 "\\\\" 。

3. 如果一个字符串中有多个分隔符,可以用"|"作为连字符。

代码示例: 多次拆分

1.7 字符串截取

1.8 其他操作方法

代码示例:观察trim()方法的使用

trim会去掉字符串开头和结尾的空白字符(空格,换行,制表符等)。

代码示例:大小写转换

这两个函数只转换字母。

1.9字符串的不可变性

String是一种不可变对象,字符串中的内容是不可改变的。

String类中的字符实际保存在内部维护的value字符数字中。

1.String类被final修饰,表明该类不能被继承。

2.value被final修饰,表明value自身的值不能改变,即不能引用其他字符数组,但是其引用空间中的内容可以改变。

1.10字符串修改

注意:尽量避免直接对String类型对象进行修改,因为String类是不能修改的,所有修改都会创建新对象,效率非常低下。

这种方式不推荐使用,因为其效率非常低下,中间创建了好多临时对象。

解释:

1.创建一个StringBuilder的对象,假设为temp。

2.将s对象append(追加)temp之后。

2.将"world"字符串append(追加)在temp之后。

4.temp调用其toString方法构造一个新的String对象。

5.将新String对象的引用赋值给s。

2.StringBuilder和StringBuffer

从上述例子可以看出:String和StringBuilder最大的区别在于String的内容无法修改,而StringBuilder的内容可以修改

注意:String和StringBuilder类不能直接转换。如果要想互相转换,可以采用如下原则:

String变为StringBuilder: 利用StringBuilder的构造方法或append()方法。

StringBuilder变为String: 调用toString()方法。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值