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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 、__WSD吴少东 中级黑马   /  2013-4-13 23:46  /  2129 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 、__WSD吴少东 于 2013-4-14 09:24 编辑

public static void Method_Byte2()//字符串转化成字节数组
{
  String str = "banbcs";
  byte[] by = str.getBytes();
  for(int x=0; x<str.length();x++)//遍历输出
  {
   sop(by[x]);
  }

问题在这里,最后储存到byte[]中的是数值,怎样让其能够储存字符,
下面的时输出结果
J:\Java\day08>java StringDemo
98
97
110
98
99
115

评分

参与人数 1技术分 +1 收起 理由
张熙韬 + 1

查看全部评分

10 个回复

倒序浏览
  1. public static void Method_Byte2()//字符串转化成字节数组
  2. {
  3.   String str = "banbcs";
  4.   char[] ch = str.toCharArray();
  5. }
复制代码
这不就搞定了!
回复 使用道具 举报
存储字符,你可以传化成字符数组呀,代码如下,我不知道是不是我理解你的问题有错误。

        public static void Method_Byte2()//字符串转化成字节数组
        {
          String str = "banbcs";
          byte[] by = str.getBytes();
          char[] ch=  str.toCharArray();
          for(int x=0; x<str.length();x++)//遍历输出
          {
           System.out.print((by[x]+"、"));
          }
          System.out.println();
          for(int x=0; x<str.length();x++)//遍历输出
          {
           System.out.print((ch[x]+"、"));
          }

        }

回复 使用道具 举报
感觉转成char[]更好些:
                   String str = "banbcs";
                  //byte[] by = str.getBytes();
                  char[] ch=str.toCharArray();
                  for(int x=0; x<ch.length;x++)//遍历输出
                  {
                   sop(ch[x]);
                  }
回复 使用道具 举报
getByte()方法获取的是字节数,就相当于将string类型拆分成字符,再将字符转换成字节数进行存储,如果使用(char)by[x]强转之后输出的就是一个个字符,这和“banbcs”一样了。如果只想以字符形式存储的话还是建议用楼上所说的toCharArray()或者getChars()方法。
回复 使用道具 举报
万蕾 发表于 2013-4-14 00:47
getByte()方法获取的是字节数,就相当于将string类型拆分成字符,再将字符转换成字节数进行存储,如果使用( ...

Soga。    我也只是,突然想到了,然后我想牵制转换,不知道在哪里转了。。谢谢你
回复 使用道具 举报
_王涛 发表于 2013-4-14 00:23
感觉转成char[]更好些:
                   String str = "banbcs";
                  //byte[] by = str.getBytes();

嗯,谢谢,
回复 使用道具 举报
崔宝东 发表于 2013-4-13 23:55
存储字符,你可以传化成字符数组呀,代码如下,我不知道是不是我理解你的问题有错误。

        public static voi ...

没事没事,谢谢你,嘿嘿
回复 使用道具 举报
杨彬 中级黑马 2013-4-14 14:35:18
9#
可以直接 用一个char类型的接受一下得到数字 输出的时候就直接转换了
                       String str = "banbcs";
                   byte[] by = str.getBytes();
                   for(int x=0; x<str.length();x++)//遍历输出
                   {
                           char a=(char) by[x];
                                    System.out.print(a);
                   }
回复 使用道具 举报
杨彬 发表于 2013-4-14 14:35
可以直接 用一个char类型的接受一下得到数字 输出的时候就直接转换了
                       String str = ...

soga  就是说,强制转换就行了是吧。:lol我太聪明了。一看就明白了  谢谢你啊
回复 使用道具 举报
李易烜 发表于 2013-4-13 23:53
这不就搞定了!

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