Java中数组和String相互转换的几种常见方法
作者:ashane1314
在 Java 中,数组和 String 之间的相互转换是常见的需求。下面是几种常见的数组和 String 之间转换的方法:
1. 字符数组 (char[]) 与字符串 (String) 相互转换
字符数组转字符串
要将字符数组转换为字符串,可以使用 String 类的构造函数:
public class CharArrayToString {
public static void main(String[] args) {
char[] charArray = {'J', 'a', 'v', 'a'};
// 将字符数组转换为字符串
String str = new String(charArray);
System.out.println(str); // 输出: "Java"
}
}
字符串转字符数组
要将字符串转换为字符数组,可以使用 String 类的 toCharArray() 方法:
public class StringToCharArray {
public static void main(String[] args) {
String str = "Java";
// 将字符串转换为字符数组
char[] charArray = str.toCharArray();
// 输出字符数组
for (char c : charArray) {
System.out.print(c + " "); // 输出: J a v a
}
}
}
2. 字符串数组 (String[]) 与字符串 (String) 相互转换
字符串数组转字符串
可以使用 String.join() 方法,或者使用 Arrays.toString() 方法将字符串数组转换为一个字符串。String.join() 允许指定连接符,而 Arrays.toString() 只是将数组转换为一个逗号分隔的字符串。
import java.util.Arrays;
public class StringArrayToString {
public static void main(String[] args) {
String[] strArray = {"Java", "Python", "C++"};
// 使用 String.join() 将数组转换为字符串,指定分隔符
String joinedString = String.join(", ", strArray);
System.out.println(joinedString); // 输出: "Java, Python, C++"
// 使用 Arrays.toString() 转换为字符串(包含括号和逗号)
String arrayString = Arrays.toString(strArray);
System.out.println(arrayString); // 输出: "[Java, Python, C++]"
}
}
字符串转字符串数组
要将一个字符串转换为字符串数组,可以使用 String.split() 方法,通常根据某个分隔符进行拆分。
public class StringToStringArray {
public static void main(String[] args) {
String str = "Java,Python,C++";
// 使用 split() 方法根据逗号拆分字符串
String[] strArray = str.split(",");
// 输出字符串数组
for (String s : strArray) {
System.out.println(s); // 输出: Java, Python, C++
}
}
}
3. 整数数组 (int[]) 与字符串 (String) 相互转换
整数数组转字符串
可以使用 Arrays.toString() 方法将整数数组转换为字符串,或者使用 StringBuilder 手动构造字符串:
import java.util.Arrays;
public class IntArrayToString {
public static void main(String[] args) {
int[] intArray = {1, 2, 3, 4, 5};
// 使用 Arrays.toString() 将整数数组转换为字符串
String str = Arrays.toString(intArray);
System.out.println(str); // 输出: "[1, 2, 3, 4, 5]"
}
}
字符串转整数数组
可以使用 String.split() 方法将字符串按分隔符拆分,再将每个部分转换为整数:
public class StringToIntArray {
public static void main(String[] args) {
String str = "1,2,3,4,5";
// 使用 split() 方法拆分字符串
String[] strArray = str.split(",");
// 将每个字符串转换为整数并存入整数数组
int[] intArray = new int[strArray.length];
for (int i = 0; i < strArray.length; i++) {
intArray[i] = Integer.parseInt(strArray[i]);
}
// 输出整数数组
for (int num : intArray) {
System.out.print(num + " "); // 输出: 1 2 3 4 5
}
}
}
4. 字节数组 (byte[]) 与字符串 (String) 相互转换
字节数组转字符串
可以使用 String 类的构造函数,将字节数组转换为字符串:
public class ByteArrayToString {
public static void main(String[] args) throws Exception {
byte[] byteArray = {74, 97, 118, 97}; // 对应 "Java" 的 ASCII 值
// 将字节数组转换为字符串
String str = new String(byteArray, "UTF-8");
System.out.println(str); // 输出: "Java"
}
}
字符串转字节数组
可以使用 String 类的 getBytes() 方法将字符串转换为字节数组:
public class StringToByteArray {
public static void main(String[] args) throws Exception {
String str = "Java";
// 将字符串转换为字节数组
byte[] byteArray = str.getBytes("UTF-8");
// 输出字节数组
for (byte b : byteArray) {
System.out.print(b + " "); // 输出字节值
}
}
}
5. 整数 (int) 与字符串 (String) 相互转换
整数转字符串
可以使用 String.valueOf() 或 Integer.toString() 方法:
public class IntToString {
public static void main(String[] args) {
int num = 123;
// 使用 String.valueOf() 将整数转换为字符串
String str1 = String.valueOf(num);
// 使用 Integer.toString() 将整数转换为字符串
String str2 = Integer.toString(num);
System.out.println(str1); // 输出: "123"
System.out.println(str2); // 输出: "123"
}
}
字符串转整数
可以使用 Integer.parseInt() 或 Integer.valueOf() 方法:
public class StringToInt {
public static void main(String[] args) {
String str = "123";
// 使用 Integer.parseInt() 将字符串转换为整数
int num = Integer.parseInt(str);
System.out.println(num); // 输出: 123
}
}
总结
- 字符数组与字符串互转:使用
new String(char[])或toCharArray()。 - 字符串数组与字符串互转:使用
String.join()或Arrays.toString()。 - 整数数组与字符串互转:使用
Arrays.toString()或手动转换。 - 字节数组与字符串互转:使用
new String(byte[])或getBytes()。 - 整数与字符串互转:使用
String.valueOf()或Integer.parseInt()。
这些方法能帮助你在 Java 中高效地进行数组和字符串之间的相互转换。
到此这篇关于Java中数组和String相互转换的几种常见方法的文章就介绍到这了,更多相关Java数组和String相互转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
