Java中char[]输出不是内存地址的原因详解
Java中共有八种基本数据类型:byte,int,short,long,float,double,char,boolean。计算机中的基础数据单位是bit, 1byte=8bit。基本类型一旦被声明,java将在栈上直接存储它,所以基本类型的变量表示的是数据本身。a指代的是Double的一个对象,称为对象引用,这个对象引用是在栈中创建的。来看一下源码,在print函数中这个char被转换为了String类型,然后进行wirte方法:这里会立即发送缓冲流输出。此处调用的是其实就是java中的数组初始化,相当于然后看看最后是到了这大家知道为什么会有区别了么,因为其他类型的数组都被认为是Object类型了,所以会输出内存地址。
用户评论