用法一:
Arrays.toString()方法属于java.util.Arrays类库的方法,它将产生一维数组的可打印版本。查看JDK API 1.6如下图:
下面以Arrays.toString(int [] a)为例子,代码如下:
package test;
import java.util.Arrays;
import java.util.Random;
public class ToString {
public static void main(String args[]){
Random rand=new Random();
int[] a=new int[5];
for(int i=0;i<a.length;i++){
a[i]=rand.nextInt(10);
}
System.out.println(Arrays.toString(a));
}
}
输出结果如下:
初始化一个大小为5的int型数组,使用rand.nextInt(10)对数组元素赋一个随机值,且范围是[0,10)包括0,不包括10。从而生成大小为5含有值的数组a。
使用Arrays.toString(a)将a转化为字符串形式,即产生可以打印的一维数组版本。当然输出结果是5个随机数,所以输出的结果会变化的。
用法二:
toString():每一个非基本类型的对象都有 一个toString()方法,而且当编译器需要一个String类型,而你只有一个对象时该方法就会被调用。代码如下:
package test2;
class Object{
<span style="white-space:pre"> </span>private String s="class Object";
<span style="white-space:pre"> </span>public String toString(){
<span style="white-space:pre"> </span>return s;
<span style="white-space:pre"> </span>}
}
class Object1{
<span style="white-space:pre"> </span>
}
public class ToString2 {
<span style="white-space:pre"> </span>public static void main(String[] args) {
<span style="white-space:pre"> </span>Object obj=new Object();
<span style="white-space:pre"> </span>Object1 obj1=new Object1();
<span style="white-space:pre"> </span>System.out.println("obj="+obj);
<span style="white-space:pre"> </span>System.out.println("obj1="+obj1);
<span style="white-space:pre"> </span>}
}
System.out.println("obj="+obj)打印的是一个对象obj,而它需要String对象同字符串“obj="相加,所以编译器会调用toString()方法将对象obj转化为字符串,即例子中的字符串"class Object"。
而如果如Object1类中没有toString方法,则会打印出obj1对象相应的地址。
所以最后的输出结果如下: