一 String类概述
1.在java.lang包下
2.String是final类,所以String类不可有子类
3.String类是字符串常量类,String对象创建后不可修改
二 补充定义:
1.String常量:是用双引号括起来的字符序列。
Java把用户程序中的String常量放入常量池中
2.字符串常量池:
JVM为了减少字符串对象的重复创建,其维护了一个特殊的内存,这段内存被称为字符串常量池。
注意:相同内容的字符串常量在常量池中只存一份。
凡是new运算符构造出的对象都不在常量池,在动态区
三 字符串的并置
String对象可以用“+”进行并置运算
1.两个常量并置
得到的仍然是常量,且若常量池没有这个常量,就放入常量池。
2.有变量的并置
得到新的String对象(在动态区存放)。
注意:此时在用==比较
String hello = "你好";
String testOne = "你"+"好";
System.out.println(hello==testOne);// true
String you = "你";
String hi = "好";
String testTwo = you+hi;
System.out.println(hello==testTwo);// false
String testThree = you+hi;
System.out.println(testTwo==testThree);// false
四 String类常用的构造方法
(1)pubic String() 创建空字符串
(2)public String(String original) 根据已有的String对象创建另一个String
(3)public String(char[] chars) 根据字符数组的内容创建字符串
(4)public String(byte[] bytes) 字节数组 例特殊:{97,98,99}——>abc
(5)String s = "abc"; 直接赋值来创建字符串
(6)String(char a[],int startIndex,int count) 在a中从startIndex开始截取count个
常用方法
- length() 获取字符串长度
-
equals() 比较引用类型的数值
- equalsIgnoreCase() 忽略大小写比较..
-
startWith(String str) 判断此字符串是否以指定str开头
- endWith(String str) 判断此字符串是否以指定str结尾
- concat(String str) 将指定字符串str连接到该字符串末尾
-
compareTo(String anotherString) 按字典顺序比较两个字符串大小。 正值大于..
- compareToIgnoreCase(String str) 忽略大小写比较
- contains(CharSequence s) 当且仅当此字符串包含指定的char值序列时才返回true。
-
indexOf(String str) 返回指定子字符串第一次出现的字符串内的索引。
- indexOf(String str, int fromIndex) ...,从指定的索引开始。
- replace(char oldChar, char newChar) 将所有old..换成new..
-
substring(int start) 返回此字符串的子字符串。 包含start
- substring(int start, int end) 包含start 不包含end字串长度end-start
- trim() 去掉前后空格
- split(String regex) 将此字符串拆分为给定的 regular expression的匹配。
String str1 = "abc-xyz";
String[] split = str1.split("-");
for(int i=0;i<split.length;i++){
sout split[i]
} //abc(换行)xyz
五 字符串与基本数据的相互转化
1.Integer类调用其类方法parseInt
public static int parseInt(String s) 将 数字 字符组成的字符串,转换成int型数据。"876"——>876
类似的paseByte、parseShort...将 数字 字符组成的字符串转换成相应的基本数据类型
2.String类的类方法valueOf
public static String valueOf(byte n)
public static String valueOf(int n) 整数型转换成字符串
....
3.更简单的转换方式
基本类型的数值与“”(空串)做并置运算 即 123+“” 表达式值为 “123” 字符串
六 ==和equals()
1 "=="比较运算符
- 基本数据类型:比较的是具体的值
- 引用数据类型:比较的是地址值
2 equals()
比较引用数据类型 具体的数值(字面值)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 分享4款.NET开源、免费、实用的商城系统
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库