String 转 char 数组
String str = "abc";
char[] charArr = str.toCharArray();
char 数组转 String
char[] charArr={'a', 'b', 'c'};
String str = new String(charArr);
char 字符转 String
使用 String.valueOf() 方法
char ch = 'a';
String str = String.valueOf(ch);
使用 Character.toString() 方法(下面的基本类型 ➡ String 提到)
char ch = 'a';
String str = Character.toString(ch);
使用空字符串连接 :
char ch = 'a';
String str = "" + ch;
对象转 String
如果某个类重写了 Object 类中的 toString() 方法,则可以使用 对象.toString()
将该类的对象转换为字符串。
Integer、Double、Boolean 等包装类都重写了 toString()方法
Integer number = 123;
String numberString = number.toString(); // "123"
StringBuilder 和 StringBuffer 类也重写了 toString() 方法
StringBuilder sb = new StringBuilder("Hello");
String helloString = sb.toString(); // "Hello"
自定义对象:在创建自定义的类时,可以重写 toString() 方法以提供自定义的字符串表示。通常用于调试和日志记录,以便更容易地查看对象的状态。
public class Person { private String name; private int age; // 构造函数、getter和setter方法... @Override public String toString() { return "Person{name='" + name + "', age=" + age + "}"; }
} Person person = new Person("Alice", 30);
String personString = person.toString(); // "Person{name='Alice', age=30}"
数组:虽然数组本身没有重写 toString() 方法,但 Java 提供了 Arrays 类,该类的静态方法 toString()可以将数组转换为字符串。
int[] numbers = {1, 2, 3};
String numbersString = Arrays.toString(numbers); // "[1, 2, 3]"
集合框架中的类(如 List、Set、Map 的实现类)通常也重写了 toString() 方法,以提供集合内容的字符串表示。
List<String> list = Arrays.asList("a", "b", "c");
String listString = list.toString(); // "[a, b, c]"
String 类型、基本数据类型、包装类型之间的转换
以整型为例,浮点型、布尔型同理:
String ➡ 基本类型 int
String ➡ 包装类型 Integer
String strNumber = "123";
int number = Integer.parseInt(strNumber); // 经过了自动拆箱成int的过程
Integer numberObject = Integer.valueOf(strNumber); // 获取Integer对象
基本类型 int ➡ String
包装类型 Integer ➡ String
int num1 = 123;
String str1 = Integer.toString(num1);
System.out.println(str1); // 输出 "123"Integer num2 = 234;
String str2 = Integer.toString(num2);
System.out.println(str2); // 输出 "234"
注意事项:对于 Boolean.parseBoolean() 方法,只有字符串 “true”(忽略大小写)会被转换为true,其他任何值(包括"false")都会被转换为 false。