9.4 字符串与字符,字节数组
发布日期:2021-05-07 06:40:04 浏览次数:21 分类:精选文章

本文共 1139 字,大约阅读时间需要 3 分钟。

  • 字符串与字符数组
  • 字符串与字节数组

 

一:字符串与字符数组

String类提供了将字符串存放到数组中的方法

  • public void getChars(int start,int end, char c[ ],int offset)

字符串调用getChars()方法将当前字符串中的一部分字符复制到参数c指定的数组中

快速记忆:(字符串开始位置,字符串结束位置(即end-1),要被存放的数组,数组的第一个存放的位置)  注意:要保证数组长度足够

 

还有一个方法

  • public char[ ] toCharArray()

将字符串中的全部字符存放在一个字符数组中

字符串对象调用该方法返回一个字符串数组,该数组长度与字符串的长度相等

 

 

二:字符串与字节数组

String类的构造方法

  • String(byte[ ])

用指定的字节数组构造一个字符串对象

 

  • String(byte[],int offset,int length)构造方法

用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象

 

  • public byte[] getBytes()方法

使用平台默认的字节编码,将当前字符串转化为一个字节数组

 

  • public byte[] getBytes(String charsetName)

使用参数指定字符编码,将当前字符串转化为一个字节数组

注意:带参数的getBytes(String charsetName)抛出UnsupportedEncodingException异常,因此必须在try-catch语句中调用getBytes(String charsetName)

 

所以如果平台默认的字符编码是GB2312(国际,标准中文),那么调用getBytes()等同于getBytes(“GB2312”)

 

注意:

在GB2312的编码中,一个汉字占两个字节

在UTF-8编码中,一个汉字占三个字节

例如:

下面例子输出是6和4

import java.util.Date;public class p1 {    public static void main(String args[]) {        byte d[]="你好".getBytes();        System.out.println(d.length);        try {            d="你好".getBytes("GB2312");            System.out.println(d.length);        }        catch (Exception e){        }    }}

我这里默认是utf-8

上一篇:9.5 正则表达式及字符串的替换与分解
下一篇:9.3 对象的字符串表示

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月08日 12时39分09秒