String类的转换功能: byte[] getBytes()方法的调用问题

图片说明

是的,转换为字节数组了。
String转换为byte数组的过程,实际上就是对字符串进行编码转换的过程。getBytes()可以带参数的,比如"utf8"、"gbk"一类的,用来指定对字符串进行编码的时候使用的编码格式。不指定的话, 会使用操作系统默认的编码格式进行转换

String的getBytes()方法是得到一个系统默认的编码格式的字节数组。将一个String类型的字符串中包含的字符转换成byte类型并且存入一个byte[]数组中。在java中的所有数据底层都是字节,字节数据可以存入到byte数组。存储字符数据时(字符串就是字符数据),会先进行查表,然后将查询的结果写入设备,读取时也是先查表,把查到的内容打印到显示设备上,getBytes()是使用默认的字符集进行转换,getBytes(“utf-8”)是使用UTF-8编码表进行转换。

后面那个for 只是为了打印bys 数组中的每一个值

for输出数组的值啊,,,,遇到代码,,可以用ide运行试试

循环是输出每个字节 直接输出数组名是 bys【0】的存储地址

for循环只是为了打印bys数组中每一值

for循环是为了遍历数组中的每一个值,如果不加for循环直接打印数组,就会打印出该数组的内存地址。除非你重写tostring()方法

String的getBytes()方法是返回得到一个系统默认的编码格式的字节数组
默认的是按照UTF-8编码表对String字符进行编码并返回字节数组。这个方法在io和网络编程中使用频繁。常常会将字符流转换成字节流,方便操作。