【Java学习笔记】之println打印数组
来源:互联网 发布:艾丹吉伦 知乎 编辑:程序博客网 时间:2024/06/07 04:54
问题:
答案:
这里就有了一个问题,之前打印过String数组,并不会输出String数组中的内容,而是类似
[Ljava.lang.String;@15db9742
的输出,那为什么char[]数组可以直接用println来进行输出呢?先测试下
public class testMain { public static void main(String[] args) { String[] stringArray = {"a","b","c"}; char[] charArray = {'a','b','c'}; int[] intArray = {1,2,3}; System.out.println(stringArray); System.out.println("==============="); System.out.println(charArray); System.out.println("==============="); System.out.println(intArray); }}
输出为:
[Ljava.lang.String;@15db9742===============abc===============[I@6d06d69c
这是怎么回事呢,看一下println的源码:
public void println(char x[]) { synchronized (this) { print(x); newLine(); } } public void println(Object x) { String s = String.valueOf(x); synchronized (this) { print(s); newLine(); } }
这就知道是怎么回事了吧,char[]类型的可以直接输出值,而String[],或者int[]等都给转化为字符串了~~那为什么是
[Ljava.lang.String;@15db9742
这种格式呢?在看一下String.valueOf(obj)干了什么:
public static String valueOf(Object obj) { return (obj == null) ? "null" : obj.toString(); }
它调用了Object基类中的toString()方法:
public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }
这下也知道为什么println(String[])的时候,为什么会输出
java.lang.String;@15db9742
了吧
阅读全文
0 0
- 【Java学习笔记】之println打印数组
- Java学习笔记--System.out.println();
- Java学习笔记之关于System.out.println()的括号中的内容
- Java学习笔记之数组
- 【Java学习笔记】之数组
- JAVA学习笔记之数组
- 【Java学习笔记 】print、printf、println的区别
- java学习笔记(一)System.out.println探究
- 【Java】数组和List打印(System.out.println)的区别
- JAVA学习笔记_打印数组的方式
- Java学习笔记之数组复习
- Java学习笔记之 数组方法
- Java学习笔记之数组工具类
- Java学习笔记之数组排序算法
- java学习笔记之数组排序
- Java学习笔记之数组、枚举
- JAVA学习笔记五之(1)数组
- java学习笔记之数组排序
- MySQL高可用介绍1-heartbeat部署
- eclipse启动tomcat成功但是访问tomcat主页报404错误
- PAT[1021]个位数统计
- Java框架 Spring 核心机制
- java日志处理组件log4j--log4j.xml配置详解
- 【Java学习笔记】之println打印数组
- 高可用架构之分布式缓存
- Javaweb核心之Ajax&json
- Mybatis中oracle、mysql、db2、sql server的like模糊查询
- java关于文件常用的方法
- hdu 2566 暴力枚举+母函数
- springmvc执行流程非代码2
- CSU 1805 Tree Capitals(Matrix-Tree定理+Best定理)
- c++连接mysql