A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李瑞 中级黑马   /  2013-5-12 00:01  /  1403 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class StringDemo1 {
        public static void main(String[] args){
        String str= "abcdef";
        byte[] b = str.getBytes();
        char[] ch = str.toCharArray();
        System.out.println(b);
        System.out.println(ch);
        System.out.println(b + "  " + ch);
        }
}
为什么b输出的是地址值,ch输出数组内容,而b和ch放一起都输出地址值呢,求解

4 个回复

倒序浏览
不好意思网卡 发重了
回复 使用道具 举报
toCharArray
public char[] toCharArray()将此字符串转换为一个新的字符数组。

返回:
一个新分配的字符数组,它的长度是此字符串的长度,它的内容被初始化为包含此字符串表示的字符序列。


getBytes
public byte[] getBytes()使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
当此字符串不能使用默认的字符集编码时,此方法的行为没有指定。如果需要对编码过程进行更多控制,则应该使用 CharsetEncoder 类。


返回:
所得 byte 数组
从以下版本开始:
JDK1.1
回复 使用道具 举报
及时更改问题状态,点编辑改为已解决
回复 使用道具 举报
两个对象用“+”连接不就转成了字符串对象吗,那肯定是输出字符串数据啊!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马