在实际项目中,如果想要把数组中的内容打印出来,直接使用toString方法只会打印出数组的地址,因此需要使用Arrays的toString方法,
可以从其内部实现中看出来,该方法支持入参可以是long,float,double,int,boolean,byte,object 型的数组。
补充:java中arrays.toString(int [ ] arr)方法的底层原理
我就废话不多说了,大家还是直接看代码吧~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/**
*@author:肖佳嘉
*
*/
* public static String toString( int [] a)
* public static void sort( int [] a)
* public static int binarySearch( int [] a, int key)
*
* public static String toString( int [] a) {
if (a == null ) //如果传入的数组是null
return "null" ; //返回null
int iMax = a.length - 1 ; //iMax最大索引
if (iMax == - 1 ) //如果数组中没有元素
return "[]" ; //返回[]
StringBuilder b = new StringBuilder(); //线程不安全,效率高
b.append( '[' ); //将[添加到字符串缓冲区中
for ( int i = 0 ; ; i++) { //遍历数组,判断语句没有写默认是true
b.append(a[i]); //把第一个元素添加进字符串缓冲区
if (i == iMax) //如果索引等于了最大索引值
return b.append( ']' ).toString(); //将]添加到字符串缓冲区,在转换成字符串并返回
b.append( ", " ); //如果不等于最大索引就将, 添加到缓冲区
}
}
|
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/lailai84/article/details/79755796