Java数组的Arrays.toString()方法及示例

Java数组的Arrays.toString()方法及示例

今天讨论一个Java中将数组以字符串形式打印的最简单方法:Arrays.toString()方法。

如何使用Arrays.toString()方法?

描述:

返回指定数组内容的字符串表示形式。字符串表示形式由该数组的元素列表组成,用方括号(“[]”)括起来。相邻元素由字符“,”(逗号后跟一个空格)分隔。如果a为null,则返回“null”。

在Object数组情况下,如果数组包含其他数组作为元素,则通过从Object继承的Object.toString()方法将它们转换为字符串,该方法描述了它们的标识而不是它们的内容。

变体:

  • public static String toString(boolean[] arr)
  • public static String toString(byte[] arr)
  • public static String toString(char[] arr)
  • public static String toString(double[] arr)
  • public static String toString(float[] arr)
  • public static String toString(int[] arr)
  • public static String toString(long[] arr)
  • public static String toString(Object[] arr)
  • public static String toString(short[] arr)

参数:

arr – 要返回其字符串表示形式的数组

返回值:

arr的字符串表示形式

用法:

以下Java代码展示了Arrays类的toString()方法的用法:

举例:

// Java program to demonstrate working of Arrays.toString()
import java.io.*;
import java.util.*;
 
class GFG {
    public static void main(String[] args)
    {
        // Let us create different types of arrays and
        // print their contents using Arrays.toString()
        boolean[] boolArr = new boolean[] { true, true, false, true };
        byte[] byteArr = new byte[] { 10, 20, 30 };
        char[] charArr = new char[] { 'g', 'e', 'e', 'k', 's' };
        double[] dblArr = new double[] { 1, 2, 3, 4 };
        float[] floatArr = new float[] { 1, 2, 3, 4 };
        int[] intArr = new int[] { 1, 2, 3, 4 };
        long[] lomgArr = new long[] { 1, 2, 3, 4 };
        Object[] objArr = new Object[] { 1, 2, 3, 4 };
        short[] shortArr = new short[] { 1, 2, 3, 4 };
 
        System.out.println(Arrays.toString(boolArr));
        System.out.println(Arrays.toString(byteArr));
        System.out.println(Arrays.toString(charArr));
        System.out.println(Arrays.toString(dblArr));
        System.out.println(Arrays.toString(floatArr));
        System.out.println(Arrays.toString(intArr));
        System.out.println(Arrays.toString(lomgArr));
        System.out.println(Arrays.toString(objArr));
        System.out.println(Arrays.toString(shortArr));
    }
}

输出

[true, true, false, true]
[10, 20, 30]
[g, e, e, k, s]
[1.0, 2.0, 3.0, 4.0]
[1.0, 2.0, 3.0, 4.0]
[1, 2, 3, 4]
[1, 2, 3, 4]
[1, 2, 3, 4]
[1, 2, 3, 4]

我们也可以将Arrays.toString()用于用户定义类的对象。

由于Arrays.toString()已经对Object类的数组进行了重载(存在一个方法Arrays.toString(Object [])),而Object是所有类的祖先,因此我们可以将其调用用于任何类型的对象数组。

// Java程序演示Arrays.toString()方法在用户自定义对象上的工作。
import java.lang.*;
import java.util.*;
 
// 驱动程序类
class Main {
    public static void main(String[] args)
    {
        Student[] arr = { new Student(111, "bbbb", "伦敦"),
                        new Student(131, "aaaa", "纽约市"),
                        new Student(121, "cccc", "斋普尔") };
 
        System.out.println(Arrays.toString(arr));
    }
}
 
// 代表学生的类。
class Student {
    int rollno;
    String name, address;
 
    // 构造函数
    public Student(int rollno, String name,
                String address)
    {
        this.rollno = rollno;
        this.name = name;
        this.address = address;
    }
 
    // 用于在main()中打印学生详细信息
    @Override
    public String toString()
    {
        return this.rollno + " " + this.name + " " + this.address;
    }
}
 
// 本代码由Susobhan Akhuli修改。```  

输出

[111 bbbb 伦敦, 131 aaaa 纽约市, 121 cccc 斋普尔]

为什么 Object.toString() 对于数组不起作用?

在数组上使用toString()方法可能不起作用。它将数组视为一个典型对象,并返回默认字符串,即以‘[’表示数组,后跟表示数组的基本数据类型的字符,然后是身份十六进制代码[详情请参见此处]。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程