String类详解(二)

1. 字符串的比较

通常在比较两个int 型变量时,我们使用 = = 完成,但是如果在String 类上使用 == ,就会产生错误。
举例:

public class StringDemo3 {
    public static void main(String[] args) {
        String str2 = "Hello";
        String str3 = "Hello";
        System.out.println(str3 == str2);
        String str4 = new String("Hello");
        String str5 = new String("Hello");
        System.out.println(str4 == str5);
    }
}

在使用直接赋值和使用构造方法这两种不同的方式创建的String对象,即使创建的内容是一样的但比较的结果却是不同的。
在这里插入图片描述
这是因为在String 类中这两种创建方式在内存分布上是有差异的,使用直接赋值方法创建String是把创建的对象放在字符常量池中,str2 和str3 指向的是同一个对象。而对于使用 String str4 = new String(“Hello”) 这种方式创建对象是在堆上开辟了两个空间存了两份“Hello”。所以String 类中使用 == 比较的并不是字符串内容,而是比较两个引用是否指向同一个对象。

方法1:
在这里插入图片描述
方法2:
在这里插入图片描述

1.1 equals 方法

equals方法是区分大小写的比较。

在这里插入图片描述

1.2 equalsIgnoreCase 方法

equalsIgnoreCase方法是不区分大小写的方法。
在这里插入图片描述

1.3 compareTo 方法

compareTo 方法 是比较两个字符串大小。
相等:返回0
小于:返回一个小于0 的 int 型
大于:返回一个大于0 的 int 型

在这里插入图片描述
unicode 字符表:
在这里插入图片描述

2. 字符串查找

2.1 contains 方法

在这里插入图片描述

2.2 indexOf 方法

从头开始查找指定字符串的位置,找到了返回位置的开始索引,找不到返回-1.
在这里插入图片描述
查找时判断开头、结尾:
在这里插入图片描述

3. 字符串替换

replacAll 方法是全部替换,replaceFirst 方法是只替换第一个出现的字符串。
字符串替换不是修改当前的字符而是产生一个新的字符串。
在这里插入图片描述

4. 字符串拆分

split 方法

在这里插入图片描述
注意: 一些特殊字符作为分割符时要加上转义字符"“或者”\"。

5. 字符串截取

subString 方法

在这里插入图片描述
注意:

  1. 索引从0开始
  2. subString(3,17)表示包含下标为3的元素但是不包含下标为17的元素。

6. 其他方法

str.trim() 去掉字符串中的左右空格,保留中间空格
str.toUpperCase() 字符串转大写
str.toLowerCase() 字符串转小写
str.intern() 字符串入字符常量池
str.length() 取得字符串长度
str.isEmpty() 判断字符串是否为空字符串,长度是否为0

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值