今天,我们将讨论在Java中将数组打印为字符串的最简单方法:Arrays.toString()方法。
如何使用Arrays.toString()方法?
描述:
返回指定数组内容的字符串表示形式。字符串表示形式包括数组元素的列表,并用方括号(“[]”)括起来。相邻元素由字符“,”(逗号后跟空格)分隔。如果数组为null,则返回“null”。
对于对象数组,如果该数组包含其他数组作为元素,则它们将从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 program to demonstrate working of Arrays.toString()
// for user defined objects.
import java.lang.*;
import java.util.*;
// Driver class
class Main {
public static void main(String[] args)
{
Student[] arr = { new Student(111, "bbbb", "london"),
new Student(131, "aaaa", "nyc"),
new Student(121, "cccc", "jaipur") };
System.out.println(Arrays.toString(arr));
}
}
// A class to represent a student.
class Student {
int rollno;
String name, address;
// Constructor
public Student(int rollno, String name,
String address)
{
this.rollno = rollno;
this.name = name;
this.address = address;
}
// Used to print student details in main()
@override
public String toString()
{
return this.rollno + " " + this.name + " " + this.address;
}
}
输出:
[111 bbbb london, 131 aaaa nyc, 121 cccc jaipur]
为什么Object.toString()不适用于数组?
在阵列上使用toString()方法可能不起作用。它将数组视为典型对象,并返回默认字符串,即,“ [”表示数组,后跟一个表示数组原始数据类型的字符,后跟一个Identity Hex Code [有关详细信息,请参见]
相关用法
- Java Java lang.Long.numberOfLeadingZeros()用法及代码示例
- Java Java.util.Collections.rotate()用法及代码示例
- Java Java.util.concurrent.RecursiveTask用法及代码示例
- Java Java lang.Long.lowestOneBit()用法及代码示例
- Java Java.util.Collections.disjoint()用法及代码示例
- Java Java lang.Long.numberOfTrailingZeros()用法及代码示例
- Java Java lang.Long.highestOneBit()用法及代码示例
- Java Java lang.Long.reverse()用法及代码示例
- Java Java.util.concurrent.Phaser用法及代码示例
- Java Java lang.Long.byteValue()用法及代码示例
- Java Java.util.function.LongPredicate用法及代码示例
- Java Java.util.function.DoublePredicate用法及代码示例
注:本文由纯净天空筛选整理自 Arrays.toString() in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。