【Java入门教程】Java String类
1. Java String类
1.1 引言
在Java编程语言中,String类是一个重要的类,用于处理字符串。字符串在计算机编程中非常常见,因为它们用于存储和操作文本数据。字符串可以包含字母、数字、特殊字符等,并且可以被拼接、比较、搜索等。本篇博客将详细介绍Java String类的各种特性和用法。
1.2 创建字符串对象
在Java中,可以使用两种方式来创建字符串对象:
1.2.1 使用字符串字面值创建
最简单的方式是使用字符串字面值创建字符串对象。例如:
String str1 = "Hello";
String str2 = "World";
1.2.2 使用new
关键字创建
我们也可以使用new
关键字来显式地创建字符串对象。例如:
String str = new String("Hello World");
1.3 字符串的操作
1.3.1 字符串拼接
字符串拼接是将两个或多个字符串连接在一起形成一个新的字符串。Java中可以使用+
运算符或concat()
方法来实现字符串的拼接。例如:
String str1 = "Hello";
String str2 = "World";
String result1 = str1 + " " + str2; // 使用+运算符拼接字符串
String result2 = str1.concat(" ").concat(str2); // 使用concat()方法拼接字符串
1.3.2 字符串比较
在Java中,可以使用equals()
方法或compareTo()
方法来比较两个字符串是否相等。例如:
String str1 = "Hello";
String str2 = "World";
boolean isEqual1 = str1.equals(str2); // 使用equals()方法比较字符串是否相等
int compareResult = str1.compareTo(str2); // 使用compareTo()方法比较字符串的大小关系
1.3.3 子串查找
我们可以使用indexOf()
方法或contains()
方法来查找一个子串在字符串中的位置。例如:
String str = "Hello World";
int index1 = str.indexOf("World"); // 使用indexOf()方法查找子串在字符串中的位置
boolean containsResult = str.contains("Hello"); // 使用contains()方法判断字符串是否包含子串
1.4 字符串的常用方法
Java String类提供了许多有用的方法来处理字符串。下面列举了一些常用的方法:
1.4.1 length()
length()
方法用于获取字符串的长度,即字符串中字符的个数。例如:
String str = "Hello World";
int length = str.length(); // 获取字符串的长度
1.4.2 charAt()
charAt()
方法用于获取字符串中指定位置的字符。索引从0开始,例如:
String str = "Hello";
char ch = str.charAt(1); // 获取字符串中索引为1的字符,即 'e'
1.4.3 substring()
substring()
方法用于获取字符串的子串。它可以接受一个参数,表示开始位置,或两个参数,表示开始位置和结束位置。例如:
String str = "Hello World";
String sub1 = str.substring(6); // 获取从索引6开始到字符串结尾的子串,即 "World"
String sub2 = str.substring(0, 5); // 获取从索引0到索引5之间的子串,即 "Hello"
1.4.4 toLowerCase()
和toUpperCase()
toLowerCase()
方法将字符串中的所有字符转换为小写字母,而toUpperCase()
方法将字符串中的所有字符转换为大写字母。例如:
String str = "Hello World";
String lowerCase = str.toLowerCase(); // 将字符串转换为小写字母形式
String upperCase = str.toUpperCase(); // 将字符串转换为大写字母形式
1.4.5 replace()
replace()
方法用于将字符串中的字符或子串替换为指定的新字符或新子串。例如:
String str = "Hello World";
String replacedStr = str.replace("World", "Java"); // 将字符串中的 "World" 替换为 "Java"
1.4.6 其他方法
除了上述提及的方法,Java String类还提供了诸如:
方法名 | 描述 | 示例 |
---|---|---|
字符串创建和初始化 | ||
String() |
创建一个空字符串对象 | String str = new String(); |
String(byte[] bytes) |
使用指定的字节数组创建字符串对象 | String str = new String(byteArray); |
String(char[] value) |
使用指定的字符数组创建字符串对象 | String str = new String(charArray); |
String(char[] value, int offset, int count) |
使用指定的字符数组的子数组创建字符串对象 | String str = new String(charArray, 2, 3); |
String(int[] codePoints, int offset, int count) |
使用指定的Unicode代码点数组的子数组创建字符串对象 | String str = new String(codePoints, 0, 4); |
String(String original) |
复制一个字符串对象 | String str = new String(originalString); |
字符串长度和字符访问 | ||
int length() |
返回字符串的长度 | int len = str.length(); |
char charAt(int index) |
返回指定位置的字符 | char ch = str.charAt(0); |
字符串操作 | ||
boolean isEmpty() |
检查字符串是否为空 | boolean empty = str.isEmpty(); |
String concat(String str) |
将指定字符串连接到此字符串的末尾 | String result = str.concat("hello"); |
String replace(char oldChar, char newChar) |
替换字符串中的字符 | String result = str.replace('a', 'b'); |
String substring(int beginIndex) |
返回从指定索引开始到字符串末尾的子字符串 | String sub = str.substring(2); |
String substring(int beginIndex, int endIndex) |
返回从指定索引开始到指定索引结束的子字符串 | String sub = str.substring(0, 4); |
String[] split(String regex) |
使用正则表达式将字符串拆分为数组 | String[] arr = str.split(","); |
字符串查找和比较 | ||
int indexOf(int ch) |
返回指定字符在字符串中第一次出现的索引 | int index = str.indexOf('a'); |
int indexOf(String str) |
返回指定字符串在字符串中第一次出现的索引 | int index = str.indexOf("hello"); |
int lastIndexOf(int ch) |
返回指定字符在字符串中最后一次出现的索引 | int lastIndex = str.lastIndexOf('a'); |
int lastIndexOf(String str) |
返回指定字符串在字符串中最后一次出现的索引 | int lastIndex = str.lastIndexOf("hello"); |
boolean startsWith(String prefix) |
检查字符串是否以指定的前缀开始 | boolean startsWith = str.startsWith("apple"); |
boolean endsWith(String suffix) |
检查字符串是否以指定的后缀结束 | boolean endsWith = str.endsWith("world"); |
boolean contains(CharSequence sequence) |
检查字符串是否包含指定的字符序列 | boolean contains = str.contains("java"); |
boolean equals(Object obj) |
检查字符串是否等于另一个对象 | boolean isEqual = str.equals(otherString); |
boolean equalsIgnoreCase(String anotherString) |
按字典顺序比较字符串,忽略大小写 | boolean isEqual = str.equalsIgnoreCase("hello"); |
字符串转换 | ||
char[] toCharArray() |
将字符串转换为字符数组 | char[] charArray = str.toCharArray(); |
byte[] getBytes() |
返回字符串的字节数组表示 | byte[] byteArray = str.getBytes(); |
String toLowerCase() |
将字符串转换为小写 | String lowerCaseStr = str.toLowerCase(); |
String toUpperCase() |
将字符串转换为大写 | String upperCaseStr = str.toUpperCase(); |
String trim() |
去除字符串前后的空格 | String trimmedStr = str.trim(); |
String valueOf(char c) |
返回字符的字符串表示 | String str = String.valueOf('a'); |
String valueOf(int i) |
返回整数的字符串表示 | String str = String.valueOf(10); |
String valueOf(long l) |
返回长整数的字符串表示 | String str = String.valueOf(100L); |
String valueOf(float f) |
返回浮点数的字符串表示 | String str = String.valueOf(3.14f); |
String valueOf(double d) |
返回双精度浮点数的字符串表示 | String str = String.valueOf(3.14); |
正文到此结束
评论插件初始化中...