一、Object类的toString()方法
Java中所有类都继承自Object类,而Object类中定义了toString()方法,所以所有对象都可以调用该方法将自身转换成字符串形式。当我们把一个对象传递给System.out.println()方法时,实际上调用了该对象的toString()方法。
public class Person {
private String name;
private int age;
// getter and setter methods
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
public class Main {
public static void main(String[] args) {
Person person = new Person();
person.setName("Tom");
person.setAge(18);
System.out.println(person); // output: Person{name='Tom', age=18}
}
}
二、String类的valueOf()方法
String类中的valueOf()方法可以将任意类型的值转换为字符串。该方法有多个重载形式,可以通过传递不同类型的参数来实现类型转换。
public class Main {
public static void main(String[] args) {
int num = 123;
String numStr = String.valueOf(num);
System.out.println(numStr); // output: "123"
double pi = 3.1415926;
String piStr = String.valueOf(pi);
System.out.println(piStr); // output: "3.1415926"
char ch = 'A';
String chStr = String.valueOf(ch);
System.out.println(chStr); // output: "A"
}
}
三、StringBuilder/StringBuffer类的append()方法
StringBuilder和StringBuffer是用于创建可变字符串的类,它们都有一个append()方法,可以将任意类型的值追加到字符串末尾。在需要频繁拼接字符串的场景下,使用StringBuilder/StringBuffer比使用”+”运算符或String类的concat()方法性能更好。
public class Main {
public static void main(String[] args) {
StringBuilder builder = new StringBuilder();
builder.append("Hello, ");
builder.append("world!");
System.out.println(builder.toString()); // output: "Hello, world!"
int num = 123;
builder.append(num);
System.out.println(builder.toString()); // output: "Hello, world!123"
boolean flag = true;
builder.append(flag);
System.out.println(builder.toString()); // output: "Hello, world!123true"
}
}
四、使用String.format()方法
String类中提供了一个静态方法format(),可以使用类似于C语言中的printf()函数的格式化字符串来将数据转换为字符串。
public class Main {
public static void main(String[] args) {
int num = 123;
String numStr = String.format("%d", num);
System.out.println(numStr); // output: "123"
double pi = 3.1415926;
String piStr = String.format("%.2f", pi);
System.out.println(piStr); // output: "3.14"
String name = "Tom";
int age = 18;
String infoStr = String.format("My name is %s, and I'm %d years old.", name, age);
System.out.println(infoStr); // output: "My name is Tom, and I'm 18 years old."
}
}
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/295177.html
微信扫一扫
支付宝扫一扫