Java初学——类型转化为String类的常用方法

前言

在Java学习的过程中我们时常会遇到将不同类型转化为String类的情况,本篇文章将介绍使用toString、将不同类型转化为String类的常用方法。如有错误,欢迎指正。

一、toString

toString作为最常用和最广泛的转化为String类的方法,所有的类都含有该方法,但当该方法在面对非Integer、Double和Arrays等可以直接转化为String类的对象时如Object类,其返回的是由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成的字符串,因此我们经常需要重写该方法,同时当使用该方法的对象为null时将会引起空指针异常。

二、String.valueOf()

该方法不像上一个方法一样会面临空指针异常,当Object等于null时将返回"null"的字符串,该方法可以用在boolean、char、char[]、double、float、int、long和Object类型上,但对于Object如果没有重写该类型的toString的方法其返回的是由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成的字符串。其实String.valueOf的源码调用的就是各种toString方法,只对null作了特殊处理。

三、字符串拼接

除了上述两个常见的方法外,还可以通过字符串拼接的形式实现类型转化为String类的方法。

代码演示如下:

public class Main {
    public static void main(String[] args) {
        int a = 10;
        double b = 10.0;
        char[] c = {'a','b','c'};
        boolean d = true;
        Object e = new Object();
        String str1 = "a = " + a;
        String str2 = "b = " + b;
        String str3 = "c = " + c;
        String str4 = "d = " + d;
        String str5 = "e = " + e;
        System.out.println(str1);
        System.out.println(str2);
        System.out.println(str3);
        System.out.println(str4);
        System.out.println(str5);
    }
}

结果如下:
在这里插入图片描述

四、String.format()

还可以通过格式化来实现转化为String类型的操作。

代码如下:

public class Main {
    public static void main(String[] args) {
        int a = 10;
        double b = 10.145;
        boolean c = true;
        String str1 = String.format("a = %04d",a);
        String str2 = String.format("b = %.1f",b);
        String str3 = String.format("c = %b",c);
        System.out.println(str1);
        System.out.println(str2);
        System.out.println(str3);
    }
}

结果如下:
在这里插入图片描述

更多推荐