java打印数组内容

java打印数组内容在java中直接输出数组只能得到引用地址byte[]bytes={1,2,3,4,5};int[]ints={1,2,3,4,5};System.out.println(bytes);System.out.println(ints);输出[B@1b6d3586[S@4554617c打印数组内容publicstaticvoidmain(Stringargs

大家好,又见面了,我是你们的朋友全栈君。

在java中直接输出数组只能得到引用地址

byte[] bytes = {
  
  1, 2, 3, 4, 5};
int[] ints = {
  
  1, 2, 3, 4, 5};
System.out.println(bytes);
System.out.println(ints);

输出
[B@1b6d3586
[S@4554617c

打印数组内容, 得到友好的打印

public static void main(String args[]) throws Exception {
        byte[] bytes = {
  
  1, 2, 3, 4, 5};
        short[] shorts = {
  
  1, 2, 3, 4, 5};
        char[] chars = {
  
  'a', 'b', 'c', 'd', 'e'};
        int[] ints = {
  
  1, 2, 3, 4, 5};
        long[] longs = {
  
  1, 2, 3, 4, 5};
        float[] floats = {
  
  1.1F, 2.2F, 3.3F, 4.4F, 5.5F};
        double[] doubles = {
  
  1.1, 2.2, 3.3, 4.4, 5.5};
        String[] strings = {
  
  "aa", "bb", "cc", "dd", "ee", "null"};

        Integer[] integers = {
  
  1, 2, 3, 4, 5};

        int[] ints2 = {};
        int[] ints3 = null;

        List<String> strings1 = new ArrayList<>();
        strings1.add("abc");
        strings1.add("def");
        strings1.add("xyz");
        strings1.add("null");

        Map<Integer, String> map = new HashMap();
        map.put(1, "aa");
        map.put(2, "bb");
        map.put(3, "cc");
        map.put(4, null);

        System.out.println(bytes);
        System.out.println(shorts);
        System.out.println(chars);
        System.out.println(ints);
        System.out.println(longs);
        System.out.println(floats);
        System.out.println(doubles);
        System.out.println(strings);
        System.out.println(integers);
        System.out.println(ints2);
        System.out.println(ints3);
        System.out.println(strings1);
        System.out.println(map);
    }

输出: 

{
  
  1, 2, 3, 4, 5}
{
  
  1, 2, 3, 4, 5}
{a, b, c, d, e}
{
  
  1, 2, 3, 4, 5}
{
  
  1, 2, 3, 4, 5}
{
  
  1.1, 2.2, 3.3, 4.4, 5.5}
{
  
  1.1, 2.2, 3.3, 4.4, 5.5}
{aa, bb, cc, dd, ee, null}
{
  
  1, 2, 3, 4, 5}
{}
{}
[abc, def, xyz, null]
{
  
  1=aa, 2=bb, 3=cc, 4=null}
public class ArrayUtils { 

public static String toString(final Object array) {
if (array == null) {
return "{}";
}
return new ToStringBuilder().append(array).toString();
}
public static class ToStringBuilder { 

private final StringBuffer buffer = new StringBuffer(512);
private final ToStringStyle style = new ToStringStyle();
public ToStringBuilder append(final Object obj) {
style.append(buffer, obj);
return this;
}
@Override
public String toString() {
return this.buffer.toString();
}
}
public static class ToStringStyle { 

private char arrayStart = '{';
private char arrayEnd = '}';
private String arraySeparator = ", ";
public void append(final StringBuffer buffer, final Object value) {
if (value == null) {
appendNullText(buffer);
} else {
appendInternal(buffer, value);
}
}
private void appendNullText(final StringBuffer buffer) {
buffer.append("");
}
private void appendInternal(final StringBuffer buffer, final Object value) {
register(value);
try {
if (value instanceof Collection<?>) {
appendDetail(buffer, (Collection<?>) value);
} else if (value instanceof Map<?, ?>) {
appendDetail(buffer, (Map<?, ?>) value);
} else if (value instanceof long[]) {
appendDetail(buffer, (long[]) value);
} else if (value instanceof int[]) {
appendDetail(buffer, (int[]) value);
} else if (value instanceof short[]) {
appendDetail(buffer, (short[]) value);
} else if (value instanceof byte[]) {
appendDetail(buffer, (byte[]) value);
} else if (value instanceof char[]) {
appendDetail(buffer, (char[]) value);
} else if (value instanceof double[]) {
appendDetail(buffer, (double[]) value);
} else if (value instanceof float[]) {
appendDetail(buffer, (float[]) value);
} else if (value instanceof boolean[]) {
appendDetail(buffer, (boolean[]) value);
} else if (value.getClass().isArray()) {
appendDetail(buffer, (Object[]) value);
} else {
appendDetail(buffer, value);
}
} finally {
unregister(value);
}
}
private static final ThreadLocal<WeakHashMap<Object, Object>> REGISTRY =
new ThreadLocal<>();
private static Map<Object, Object> getRegistry() {
return REGISTRY.get();
}
private static void register(final Object value) {
if (value != null) {
final Map<Object, Object> m = getRegistry();
if (m == null) {
REGISTRY.set(new WeakHashMap<>());
}
getRegistry().put(value, null);
}
}
static void unregister(final Object value) {
if (value != null) {
final Map<Object, Object> m = getRegistry();
if (m != null) {
m.remove(value);
if (m.isEmpty()) {
REGISTRY.remove();
}
}
}
}
private void appendDetail(final StringBuffer buffer, final boolean[] array) {
buffer.append(arrayStart);
for (int i = 0; i < array.length; i++) {
if (i > 0) {
buffer.append(arraySeparator);
}
appendDetail(buffer, array[i]);
}
buffer.append(arrayEnd);
}
private void appendDetail(final StringBuffer buffer, final byte[] array) {
buffer.append(arrayStart);
for (int i = 0; i < array.length; i++) {
if (i > 0) {
buffer.append(arraySeparator);
}
appendDetail(buffer, array[i]);
}
buffer.append(arrayEnd);
}
private void appendDetail(final StringBuffer buffer, final short[] array) {
buffer.append(arrayStart);
for (int i = 0; i < array.length; i++) {
if (i > 0) {
buffer.append(arraySeparator);
}
appendDetail(buffer, array[i]);
}
buffer.append(arrayEnd);
}
private void appendDetail(final StringBuffer buffer, final char[] array) {
buffer.append(arrayStart);
for (int i = 0; i < array.length; i++) {
if (i > 0) {
buffer.append(arraySeparator);
}
appendDetail(buffer, array[i]);
}
buffer.append(arrayEnd);
}
private void appendDetail(final StringBuffer buffer, final int[] array) {
buffer.append(arrayStart);
for (int i = 0; i < array.length; i++) {
if (i > 0) {
buffer.append(arraySeparator);
}
appendDetail(buffer, array[i]);
}
buffer.append(arrayEnd);
}
private void appendDetail(final StringBuffer buffer, final float[] array) {
buffer.append(arrayStart);
for (int i = 0; i < array.length; i++) {
if (i > 0) {
buffer.append(arraySeparator);
}
appendDetail(buffer, array[i]);
}
buffer.append(arrayEnd);
}
private void appendDetail(final StringBuffer buffer, final double[] array) {
buffer.append(arrayStart);
for (int i = 0; i < array.length; i++) {
if (i > 0) {
buffer.append(arraySeparator);
}
appendDetail(buffer, array[i]);
}
buffer.append(arrayEnd);
}
private void appendDetail(final StringBuffer buffer, final Collection<?> coll) {
buffer.append(coll);
}
private void appendDetail(final StringBuffer buffer, final Map<?, ?> map) {
buffer.append(map);
}
private void appendDetail(final StringBuffer buffer, final long[] array) {
buffer.append(arrayStart);
for (int i = 0; i < array.length; i++) {
if (i > 0) {
buffer.append(arraySeparator);
}
appendDetail(buffer, array[i]);
}
buffer.append(arrayEnd);
}
private void appendDetail(final StringBuffer buffer, final Object value) {
buffer.append(value);
}
private void appendDetail(final StringBuffer buffer, final Object[] array) {
buffer.append(arrayStart);
for (int i = 0; i < array.length; i++) {
final Object item = array[i];
if (i > 0) {
buffer.append(arraySeparator);
}
if (item == null) {
appendNullText(buffer);
} else {
appendInternal(buffer, item);
}
}
buffer.append(arrayEnd);
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/130863.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux 挂载磁盘命令

    linux 挂载磁盘命令把一个磁盘/dev/sda挂载到某个目录下makdir /mnt/long //创建一个空的挂载节点mount -text4 /dev/sda /mnt/long

  • 对于三极管饱和状态的一些浅见——与网友的讨论贴

    对于三极管饱和状态的一些浅见——与网友的讨论贴网友问:2012-10-1612:16:34 郑老师:这篇大作把三极管的放大和截止两个状态阐述其机理挺明白了。那么还有第三个状态,饱和状态是怎么一个情况?请问1.三极管饱和状态是通过外部偏置电阻等预先设置好,通电后直接进入这个饱和状态的吗?2.三极管处于饱和状态时,集电结施加正偏电压后,基区及集电区各载流子的运动状态是怎样的?我怎么觉得两个PN结都

  • CSS的四种基本选择器和四种高级选择器[通俗易懂]

    CSS的四种基本选择器和四种高级选择器[通俗易懂]CSS选择器:就是指定CSS要作用的标签,那个标签的名称就是选择器。意为:选择哪个容器。CSS的选择器分为两大类:基本选择题和扩展选择器。基本选择器:标签选择器:针对一类标签 ID选择器:针对某一个特定的标签使用 类选择器:针对你想要的所有标签使用 通用选择器(通配符):针对所有的标签都适用(不建议使用)下面来分别讲一讲。1、标签选择器:选择器的名字代表html页面上的标签…

  • pycharm怎么导包_python自动到包快捷键

    pycharm怎么导包_python自动到包快捷键其实在pycharm中导包极为便捷和方便,下面就和大家分享一下吧:首先点击file,再点击settings,再ProjectorInterpreter中点击,输入想要的包名,最后点击installpackage…

  • Module build failed (from ./node_modules/eslint-loader/index.js)

    Module build failed (from ./node_modules/eslint-loader/index.js)错误信息:D:\study\vue\vuesaxvuejs-210\vuesaxvuejs-210>npmrunserve>vuesax-vuejs-dashboard-admin-template@2.1.0serveD:\study\vue\vuesaxvuejs-210\vuesaxvuejs-210>vue-cli-serviceserveI…

  • Easyui Datagrid的Rownumber行号显示问题

    Easyui Datagrid的Rownumber行号显示问题在Oracle中使用orderby进行查询排序时,如果排序字段中有空值(null),排序结果可能会达不到我们想要的结果。如:select*fromtestorderbyagedesc;按照age字段降序排序,结果如下:将sql语句改为select*fromtestorderbyagedescnullslast;即可将null值排到

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号