好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

java基础之 Arrays.toString()方法详解

在实际项目中,如果想要把数组中的内容打印出来,直接使用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

查看更多关于java基础之 Arrays.toString()方法详解的详细内容...

  阅读:16次