java substring Java String 类常用方法详解
java substring Java String 类常用方法详解
Java 类常用方法详解
在 Java 编程里,字符串操作十分常见,而 类作为 Java 标准库的核心类,用于表示不可变的字符序列。任何对字符串的修改操作都会返回一个新的字符串对象,不会改变原始字符串。本文将详细介绍 类的常用方法,并结合示例代码帮助理解。
一、 对象的创建
对象的创建主要有以下两种方式:
1. 直接赋值
这是最常见的创建字符串的方式,使用双引号将一系列字符括起来即可:
String str1 = "Hello, ";
2. 使用 new 关键字
通过对象实例化的方式,将需要创建的字符串作为构造参数传入:
String str2 = new String("Hello, Java");
若调用 类的无参构造方法,则会创建一个空字符串,不过这种方式很少使用:
String str3 = new String();
二、获取字符串长度
可以使用 () 方法来获取字符串的长度,示例代码如下:
public class StringMethod1 {
public static void main(String[] args) {
String str = "hello world!";
int length = str.length();
System.out.println("str的长度为:" + length);
}
}
运行结果:
str的长度为:12
需要注意的是,字符串中的空格也算一个字符。
三、字符串查找1. 获取指定位置字符
使用 char (int index) 方法可以获取字符串指定位置的字符,索引下标从 0 开始。示例如下:
public class StringMethod2 {
public static void main(String[] args) {
String str = "I love Java";
char c = str.charAt(7);
System.out.println("索引位置为7的字符为:" + c);
}
}
运行结果:
索引位置为7的字符为:J
2. 查找字符串位置
示例代码如下:
public class StringMethod2 {
public static void main(String[] args) {
String str = "I love Java, I love imooc!";
// 获取字符在字符串中第一次出现的位置
int i1 = str.indexOf('a');
System.out.println("字符a在字符串str第一次出现的位置为:" + i1);
// 获取子串在字符串中第一次出现的位置
int i2 = str.indexOf("love");
System.out.println("子串love在字符串str第一次出现的位置为:" + i2);
// 获取字符在字符串中最后一次出现的位置
int i3 = str.lastIndexOf('e');
System.out.println("字符e在字符串str最后一次出现的位置为:" + i3);
// 获取子串在字符串中最后一次出现的位置
int i4 = str.lastIndexOf("I love");

System.out.println("子串I love在字符串str最后一次出现的位置为:" + i4);
// 查找不存在的字符
int i5 = str.indexOf('E');
System.out.println("查找不存在的字符E的结果为:" + i5);
}
}
运行结果:
字符a在字符串str第一次出现的位置为:8
子串love在字符串str第一次出现的位置为:2
字符e在字符串str最后一次出现的位置为:18
子串I love在字符串str最后一次出现的位置为:13
查找不存在的字符E的结果为:-1
需要注意的是,以上方法的参数都是区分大小写的,如果没有找到指定的字符或子串,会返回 -1。
四、字符串截取
可以使用 () 方法来获取子串java substring Java String 类常用方法详解, 类中有两个重载的实例方法:
示例代码如下:
public class StringMethod3 {
public static void main(String[] args) {
String str = "I love Java";
String substring1 = str.substring(2);
String substring2 = str.substring(2, 6);
System.out.println("从索引位置2到结束的子串为:" + substring1);
System.out.println("从索引位置2到索引位置6的子串为:" + substring2);
}
}
运行结果:
从索引位置2到结束的子串为:love Java
从索引位置2到索引位置6的子串为:love
五、字符串切割1. 切割为子串数组
使用 split( regex) 方法可将字符串切割为子串,其参数 regex 是一个正则表达式分隔符java substring,返回字符串数组。示例如下:
public class StringMethod4 {
public static void main(String[] args) {
String str1 = "I love Java";
String[] strArr = str1.split(" ");
for (String str : strArr) {
System.out.print(str + "t");
}
}
}
运行结果:
I love Java
对于一些特殊的分隔符,如 *、^、:、|、. 等,需要使用转义字符转义。例如:
// 以 * 切割
String str2 = "I*love*Java";
String[] strArr2 = str2.split("\*");
// 以 切割
String str3 = "I\love\Java";
String[] strArr3 = str3.split("\\");
// 以 | 切割
String str4 = "I|love|Java";
String[] strArr4 = str4.split("\|");
另外,还有一个重载方法 split( regex, int limit),其第二个参数 limit 用以控制正则匹配被应用的次数,会影响结果的长度。
2. 切割为 byte 数组

在实际工作中java substring Java String 类常用方法详解,网络上的数据传输通常使用二进制字节数据,因此字符串和字节数组之间的相互转换很常用。可以使用 () 方法将字符串转换为 byte 数组java substring,示例如下:
public class StringMethod4 {
public static void main(String[] args) {
String str2 = "我喜欢Java";
System.out.println("将字符串转换为byte数组:");
byte[] ascii = str2.getBytes();
for (byte aByte : ascii) {
System.out.print(aByte + "t");
}
// 将字节数组转换为字符串
String s = new String(ascii);
System.out.println("n将字节数组转换为字符串:" + s);
}
}
六、字符串大小写转换
字符串的大小写转换有两个方法:
示例代码如下:
public class StringMethod5 {
public static void main(String[] args) {
String str = "HELLO world";
String s1 = str.toLowerCase();
System.out.println("字符串str转换为小写后为:" + s1);
String s2 = s1.toUpperCase();
System.out.println("字符串s1转换为大写后为:" + s2);
// 实现大小写互换
String[] strArr = str.split(" ");
String result = strArr[0].toLowerCase() + " " + strArr[1].toUpperCase();
System.out.println("字符串str的大小写互换后为:" + result);
}
}
运行结果:
字符串str转换为小写后为:hello world
字符串s1转换为大写后为:HELLO WORLD
字符串str的大小写互换后为:hello WORLD
七、字符串比较
类提供了 ( ) 方法来比较字符串内容是否相同,返回一个布尔类型的结果。需要特别注意的是,在比较字符串内容是否相同时,必须使用 () 方法而不能使用 == 运算符。示例代码如下:
public class StringMethod6 {
public static void main(String[] args) {
String str1 = "hello";
String str2 = "hello";
String str3 = new String("hello");
System.out.println("使用equals()方法比较str1和str2的结果为:" + str1.equals(str2));
System.out.println("使用==运算符比较str1和str2的结果为:" + (str1 == str2));
System.out.println("使用equals()方法比较str1和str3的结果为:" + str1.equals(str3));
System.out.println("使用==运算符比较str1和str3的结果为:" + (str1 == str3));
}
}
运行结果:
使用equals()方法比较str1和str2的结果为:true
使用==运算符比较str1和str2的结果为:true
使用equals()方法比较str1和str3的结果为:true
使用==运算符比较str1和str3的结果为:false
== 运算符比较的是两个变量的地址而不是内容。当使用直接赋值的方式创建字符串时,相同内容的字符串会指向常量池中的同一个对象;而使用 new 关键字创建字符串对象时,会在堆空间实例化一个新的对象。
八、小结
本文介绍了 Java 类的常用方法:
这些方法大多有重载方法,实际工作中,要根据合适的场景选用对应的重载方法。此外java substring, 类还有很多未介绍到的方法,使用时可以翻阅官网文档进行学习。
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299
资源库 - 资源分享下载网 » java substring Java String 类常用方法详解
常见问题FAQ
- 关于资源售价和售后服务的说明?
- 代码有没有售后服务和技术支持?
- 有没有搭建服务?
- 链接地址失效了怎么办?
- 关于解压密码

