javaSystem.out.println()输出byte[]、char[]异常的解决办法

  • 更新时间:2020-06-17 09:31:01
  • 编辑:戈天心

前言

今天 突然有人问我他写的byte[]和char[],在用System.out.println()输出的时候所得的值有问题?

细思恐惧啊 我之前怎么没发现。。。。。。。。。。。。。。。。

废话不多说 代码如下

/**
 * @Author: 
 * @Date: 2019/1/9/00099:23
 * @Version 1.0
 */
public class arrayTest {
 public static void main(String[] args) {
  //创建一个byte数组
  byte[] b = {'a'};
  //创建一个char数组
  char[] c = {'a'};
  //用System.out.println输出byte数组
  System.out.println(b);//控制台输出 [B@7adf9f5f
  //用System.out.println输出char数组
  System.out.println(c);//控制台输出 a
 }
}

由代码可以看出,使用System.out.println()byte数组和输出char数组所产生的不同,

输出byte数组 输出的是内存地址

输出char数组 输出的是数组的元素

原因是什么嘞·············????接着往下看。

查资料发现,System.out.println()是printStream类的成员方法,此方法只提供了以下几种数据类型的输出重载函数:

--------------------------------------------------------------------------------------------------------------------

println()        void  没有返回值  通过写入分隔符字符串来终止当前行

println(boolean x)    void  没有返回值  打印一个布尔值,然后终止该行

println(char x)      void  没有返回值  打印一个字符,然后终止该行

println(char[] x)     void  没有返回值  打印一个字符数组,然后终止该行

println(double x)     void  没有返回值  打印双精度浮点数,然后终止该行

println(float x)      void  没有返回值  打印单精度浮点数,然后终止该行

println(int x)       void  没有返回值  打印一个整数,然后终止该行

println(long x)      void  没有返回值  打印long整数,然后终止该行

println(Object x)     void  没有返回值  打印一个对象,然后终止该行

println(String x)     void  没有返回值  打印一个字符串,然后终止该行

-----------------------------------------------------------------------------------------------------------------------

由以上可以看出 我们在输出boolean、char、char[]、double、float、int、long、String 类型的数据,

会输出相应的值,对于Object的输出,System.out.println()会先调用其toString方法,然后会将该对象的toString方法的返回值输出,

由于System.out.println()没有对int[]、String[]、byte[]、Object[]、输出函数重载,所有在使用该方法输出这些数据类型时,该方法会将其中的参数

做数组首元素来对待,也就是说System.out.println(b);等价于System.out.println(b[0]);然后调用首元素的toString方法,并将其输出。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对码农之家的支持。

相关教程

  • Java异常区分和处理的经验方法总结

    这篇文章介绍了Java异常区分和处理的一些经验分享,主要是异常选择和使用中的一些误区总结与归纳,具有一定参考价值,需要的朋友可以了解下。

    发布时间:2019-08-29

  • Java中常见异常打印输出方式

    Java异常是在Java应用中的警报器,下面这篇文章主要给大家介绍了关于Java中异常打印输出的常见方法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看

    发布时间:2020-01-09

  • java自定义异常实例详解

    这篇文章主要为大家详细介绍了java简单自定义异常实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    发布时间:2019-11-04

  • Java异常类型以及异常处理总结

    在本篇文章里小编给大家分享了关于Java的异常类型的相关知识点内容,有需要的朋友们跟着学习下。

    发布时间:2019-05-30

  • java异常与处理机制分析

    这篇文章主要介绍了java的异常与处理机制,结合实例形式分析了Java异常与处理机制的概念、原理、相关操作技巧与注意事项,并附带面试题分析供大家参考,需要的朋友可以参考下

    发布时间:2019-08-11

  • java异常处理教程及实例总结

    这篇文章主要为大家分享一份非常详细的Java异常处理实例教程,帮助大家更好的学习java异常处理,感兴趣的小伙伴们可以参考一下

    发布时间:2018-10-22

  • 轻量级Java EE企业应用实战(第5版)

    轻量级Java EE企业应用实战(第5版)

    本书是SSH经典图书升级版,全面拥抱Spring 5轻量级Web开发新特性;面世十余年,历经数十万读者检验,本书适合于有较好的Java编程基础,或者有初步JSP、Servlet基础的读者阅读

    大小:3.03 GBJava EE电子书

  • 看透JavaScript:原理、方法与实践

    看透JavaScript:原理、方法与实践

    本书由资深软件开发专家撰写,凝聚其多年开发经验,系统、深入、全面地阐释JavaScript,内容涉及流行的Web开发实践,结合实际案例进行讲解,授人以渔。本书内容并不局限于某个具体功能的

    大小:251 MBJavaScript电子书

  • Java核心技术及面试指南

    Java核心技术及面试指南

    Java是程序编写全球深受热烈欢迎的語言,尽管Java技术性在应用中已趋成熟期,但招骋销售市场的Java开发优秀人才却依然紧俏。《Java关键技术及招聘面试手册》一书,从Java关键技术的开发和招

    大小:220.6 MBJava面试电子书

  • 2019校招面java试题库(含答案解析)

    2019校招面java试题库(含答案解析)

    本题库均来自海量真实校招面试题目大数据进行的整理,内含解析和答案,需要严肃说明的是:面试题库作为帮助同学准备面试的辅助资料,但是绝对不能作为备考唯 一途径,因为面试是一个考察真实水平的,不是背会了答案就可以的,需要你透彻理解的,否则追问问题答不出来反而减分,毕竟技术面试中面试官最痛恨的就是背答案这个事情了。 学完这个题库,把此题库都理解透彻应对各家企业面试完全没有问题。(当然,要加上好的 项目以及透彻掌

    大小:2.03 MBjava面试

  • 明解Java

    明解Java

    这是一本更适合入门的Java编程书,图文并茂,示例丰富,通过284幅图表和258段代码,由浅入深地解说了从Java的基础知识到面向对象编程的内容

    大小:63.8 MBJava编程电子书

  • JavaScript和jQuery实战手册

    JavaScript和jQuery实战手册

    JavaScript可以大大改进网页的动画、交互性和视觉效果,但学习该门语言不太容易。本书通过一步步引导JavaScript基础知识,展示了如何使用jQuery(即预先写好的JavaScript代码库)来节省时间和精

    大小:103 MBJavaScript电子书

用户留言