当前位置: 代码迷 >> Eclipse >> java 初学者有关问题关于字节数组
  详细解决方案

java 初学者有关问题关于字节数组

热度:76   发布时间:2016-04-22 23:53:47.0
java 菜鸟问题关于字节数组
刚学习java 书上有一个统计字符串中单词个数的例题
他采用的方法是把字符串转换为字节数组,然后判断是否是单词,再计数
我想问的是为什么字符串要转换为字节数组?能否转为字符数组,这两者有什么差异么,因为我是先学的C ,C++,不太懂字节这个基本数据类型存在的好处,仅仅是占用的字节数少一些还是确实比字符类型char更有优势。。主要问题就是字节数组与字符数组差异
------解决思路----------------------
字节是8位,字符是16位
------解决思路----------------------
我觉得是各有各的用处
比如 String 中的 getBytes() 方法,是使用平台默认的字符集将该 String 对象编码为 byte 序列
这样就需要 byte[] 而不是 char[] 了
还有就是读取文本的时候,显示是使用 char 好,但是如果读取的是其他的文件的话,就要用 byte 了
char 一般是用来处理文本有关的东西
byte 就几乎可以用来处理任何东西了
------解决思路----------------------
统计字符串中单词个数,应该就是看空格和标点的数量吧,比方说,如果有5个空格,那就是有6个单词,是吧?
所以把字符串转成字节数组,就是为了统计 空格和标点 的数量,至于他为什么用字节数组而不用字符数组,我想是不是因为字节数组速度更快?或者字节数组更省内存?  因为一个字符要占两个字节的。
楼主可以把代码帖数出来,让大家看看。
现在java书太多了,有些人急功近利,为了出书,胡乱写一些例子,所以,楼主也没必要太较真,
真的,也许作者就是随便一写,赚赚稿费,您要是把时间浪费在这上面,就不值了。希望我的回复能帮助到楼主。
------解决思路----------------------
我就弱弱的问一句:字符数组你按什么来分组?
------解决思路----------------------
如果不是处理标准的英文字符串,用字符数组更好一些,因为一些非ASCII字符在转成byte时可能占用多个字节。
如果处理的是标准的英文字符串,转换成byte数组可以节省一点空间-- 这好像是它唯一可以带来的好处了