String类|笔记1(复习)
由于字符串应用广泛,Java中专门提供了面向字符串对象的String类。
1、字符串常用的构造方法
2、String对象的比较
在讨论String对象的比较时,先看看String类的引用机制。创建对象S1,S2,S3,虚拟机栈中分别存储指向
堆区的引用对象的地址,S1和S3指向相同的引用对象,S3指向不同的引用对象。String是引用类型,内部并
不存储字符串本身。
2.1、“==” 比较是否引用同一对象
对于内置类型(内部直接存储变量),“==” 比较的是变量中的值,对于引用类型,“==” 比较的是引用中的地址。
对于int类型来说,“==” 比较的是变量中的值。
对于String类来说,“==” 比较两个引用变量引用的是否为同一变量。
2.2、boolean equals(Object anObject)方法:按照字符大小的顺序比较
在String类中重写了Object中equals方法,String中的equals方法按照如下方法比较:
1、先检测两个待比较是否为同一对象比较,如果是返回true;
2、检测anObject是否为String对象,如果是,则继续比较,否则返回false;
3、检测两个比较对象字符串长度是否相同,相同则继续,否则返回false;
4、按照字符串的大小顺序从前往后逐个比较。
2.3、int compare To(String s)方法:按照字符大小的顺序比较
比较规则:
1、先按照字符大小顺序比较,出现不同的字符,返回两个字符的大小差值;
2、如果前k个字符相等,返回两个字符串长度差值;
3、不忽略大小写。
2.4、int compareTolgnoreCase(String str)方法与compareTo相同,但忽略大小写。
3、字符串查找
char charAt(int index) 返回index位置上的字符,index不合法,抛出异常。
字符串查找的方法有很多,可根据需要自行查看。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)