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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小城青年 中级黑马   /  2015-7-28 22:25  /  553 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Array {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
               
                byte[] b={10,20,30,40,50};
                String s=new String(b);
                System.out.println(s);

        }

}
eclipse输出的是一串方块里面是问号的乱码!搞不懂

4 个回复

倒序浏览
输出的结果是数组中数字所对应的ASCII码表值
回复 使用道具 举报
道理和'A'强转为int一样
回复 使用道具 举报
你的eclipse应该使用的默认GBK编码,new String(b)的时候把ASCII码值转为字符,这个码表28~126都有对应字符,其他数值没有
回复 使用道具 举报
本帖最后由 叫我斯文哥 于 2015-7-29 10:48 编辑

byte[] b={10,20,30,40,50};是一个字节数组,String s=new String(b);     你转化成String用的是默认编码,在编码表里找不到对应的字符就是乱码;
{10,20,30,40,50}; 你是从哪里来的,不是随便一个字节数组就有对应的字符的,你说你的家乡话,我是听不懂的

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马