聊聊Arrays.deepToString()和Arrays.toString()的區(qū)別
Arrays.deepToString()主要用于數(shù)組中還有數(shù)組的情況,而Arrays.toString()則相反,對(duì)于Arrays.toString()而言,當(dāng)數(shù)組中有數(shù)組時(shí),不會(huì)打印出數(shù)組中的內(nèi)容,只會(huì)以地址的形式打印出來(lái)。
示例:
package com.oovever.hutool.util;
import java.util.Arrays;
/**
* @Author OovEver
* @Date 2017/12/24 17:31
*/
public class test {
public static void main(String[] args) {
int a[] = {1, 2, 3};
System.out.println(Arrays.toString(a));
int b[][] = {{1, 2, 3}, {4, 5, 6}};
System.out.println(Arrays.toString(b));
System.out.println(Arrays.deepToString(b));
}
}
結(jié)果
[1, 2, 3] [[I@14ae5a5, [I@7f31245a] [[1, 2, 3], [4, 5, 6]]
補(bǔ)充:Arrays.deepToString()解釋和用法(返回指定數(shù)組“深層內(nèi)容”的字符串表示形式)
deepToString
public static String deepToString(Object[] a)
包位置:
java.util.Arrays.deepToString()
返回值:
返回指定數(shù)組“深層內(nèi)容”的字符串表示形式。
解釋與用法:
如果數(shù)組包含作為元素的其他數(shù)組,則字符串表示形式包含其內(nèi)容等。此方法是為了將多維數(shù)組轉(zhuǎn)換字符串而設(shè)計(jì)的。
字符串表現(xiàn)形式: 字符串表示形式由數(shù)組的元素列表組成,括在方括號(hào)("[]")中。相鄰元素用字符 ", "(逗號(hào)加空格)分隔。這些元素通過(guò) String.valueOf(Object) 轉(zhuǎn)換為字符串,除非它們是自身的數(shù)組。
舉例說(shuō)明:
import java.util.Arrays;
/**
* Arrays.deepToString()方法打印的是二維數(shù)組中一維數(shù)組中的值
* Arrays.toString()方法打印的是二維數(shù)組中一維數(shù)組的地址
*/
public class TestDeepToString {
public static void main(String[] args) {
int[] array1 = {6, 6, 6};
int[] array2 = {8, 8, 8};
int[][] array3 = {array1, array2};
// int[][] array4 = {{6, 6, 6}, {8, 8, 8}};
System.out.println(Arrays.deepToString(array3)); //[[6, 6, 6], [8, 8, 8]]
System.out.println(Arrays.toString(array3)); //[[I@511d50c0, [I@60e53b93]
}
}
打印結(jié)果:
[[6, 6, 6], [8, 8, 8]] [[I@511d50c0, [I@60e53b93]
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Java編程中使用JDBC API連接數(shù)據(jù)庫(kù)和創(chuàng)建程序的方法
這篇文章主要介紹了Java編程中使用JDBC API連接數(shù)據(jù)庫(kù)和創(chuàng)建程序的基本教程,JDBC是一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn)需要的朋友可以參考下2015-12-12
springboot登錄攔截器+ThreadLocal實(shí)現(xiàn)用戶信息存儲(chǔ)的實(shí)例代碼
ThreadLocal 為變量在每個(gè)線程中創(chuàng)建了一個(gè)副本,這樣每個(gè)線程都可以訪問(wèn)自己內(nèi)部的副本變量,這篇文章主要介紹了springboot登錄攔截器+ThreadLocal實(shí)現(xiàn)用戶信息存儲(chǔ)的實(shí)例代碼,需要的朋友可以參考下2024-03-03
fastjson生成json時(shí)Null屬性不顯示的解決方法
下面小編就為大家?guī)?lái)一篇fastjson生成json時(shí)Null屬性不顯示的解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
Java編程中實(shí)現(xiàn)歸并排序算法的實(shí)例教程
這篇文章主要介紹了Java編程中實(shí)現(xiàn)歸并排序算法的實(shí)例教程,包括自底向上的歸并排序的實(shí)現(xiàn)方法介紹,需要的朋友可以參考下2016-05-05
Springboot?整合?RocketMQ?收發(fā)消息的配置過(guò)程
這篇文章主要介紹了Springboot?整合?RocketMQ?收發(fā)消息,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
Java Metrics系統(tǒng)性能監(jiān)控工具的使用詳解
Metrics是一個(gè)Java庫(kù),可以對(duì)系統(tǒng)進(jìn)行監(jiān)控,統(tǒng)計(jì)一些系統(tǒng)的性能指標(biāo)。本文就來(lái)和大家詳細(xì)聊聊這個(gè)工具的具體使用,希望對(duì)大家有所幫助2022-11-11
解析Orika的MapperFacade 屬性賦值的使用問(wèn)題
在我們實(shí)際開(kāi)發(fā)中,常常會(huì)有對(duì)象與對(duì)象之間的轉(zhuǎn)化,或者把一個(gè)對(duì)象的數(shù)據(jù)轉(zhuǎn)化到另一個(gè)數(shù)據(jù)之中,如果我們手動(dòng)的一個(gè)一個(gè)的set就會(huì)比較麻煩,代碼段看起來(lái)也會(huì)比較長(zhǎng)。而Orika的MapperFacade就是解決這個(gè)問(wèn)題的,實(shí)現(xiàn)對(duì)象屬性的復(fù)制2021-12-12

