当前位置: 首页 > 图灵资讯 > 技术篇> java怎么打印byte数组

java怎么打印byte数组

来源:图灵教育
时间:2024-12-08 16:03:48
打印 java 中的字节数组有五种方法:使用 tostring() 打印引用使用循环遍历和打印每个元素使用 arrays.tostring() 打印字符串表示使用 string.format() 将数组转换为字符串再打印创建自定义格式化器来指定输出格式

java怎么打印byte数组

如何打印 Java 中的字节数组

直接打印字节数组

最简单的方法是使用 toString() 方法:

byte[] byteArray = {1, 2, 3};
System.out.println(byteArray.toString());

输出:

立即学习“Java免费学习笔记(深入)”;

[B@1b6d3586

但这只能打印对象的引用,无法显示实际字节值。

使用循环打印字节

可以通过遍历字节数组并打印每个元素来打印字节:

for (byte b : byteArray) {
  System.out.print(b + " ");
}

输出:

立即学习“Java免费学习笔记(深入)”;

1 2 3

使用 Arrays.toString()

JDK 提供了 Arrays.toString() 方法,专门用于打印数组:

System.out.println(Arrays.toString(byteArray));

输出:

立即学习“Java免费学习笔记(深入)”;

[1, 2, 3]

使用 String.format()

可以将字节数组转换为字符串,然后使用 String.format() 打印:

String byteString = String.format("%s", byteArray);
System.out.println(byteString);

输出:

立即学习“Java免费学习笔记(深入)”;

[1, 2, 3]

使用自定义格式化

对于需要自定义输出格式的情况,可以创建自己的格式化器:

class ByteFormatter implements Formatter {
  @Override
  public String format(Object obj) {
    byte[] byteArray = (byte[]) obj;
    StringBuilder sb = new StringBuilder();
    sb.append("[");
    for (int i = 0; i < byteArray.length; i++) {
      sb.append(byteArray[i]);
      if (i < byteArray.length - 1) {
        sb.append(", ");
      }
    }
    sb.append("]");
    return sb.toString();
  }
}

System.out.println(String.format(new ByteFormatter(), byteArray));

输出:

立即学习“Java免费学习笔记(深入)”;

[1, 2, 3]

以上就是java怎么打印byte数组的详细内容,更多请关注图灵教育其它相关文章!

上一篇:

java怎么对数组排序

下一篇:

返回列表