字符与字符串
字符转字符串
String有两个char类型的构造函数
1、public String(char value[])//将字符数组中的所有内容变为字符串
char[] arr = {'a','b','c'};
String str = new String(arr);
System.out.println(str);
//结果为
abc
2、public String(char value[],int offset, int count) //将部分字符数组中的内容变为字符串
offset:从几号下标开始
count:取几个字符(注意不能超出数组长度,否则会出现下标越界异常)
char[] arr = {'a','b','c'};
String str = new String(arr,1,2);
System.out.println(str);
//结果为
bc
字符串转字符
1、public char charAt(int index) //取得指定索引位置的字符
String str = "abcd";
char ch = str.charAt(2);
System.out.println(ch);
//结果为
c
2、public char[] toCharArray() //将字符串变为字符数组返回
String str = "abcd";
char[] ch = str.toCharArraay();
System.out.println(Arrays.toString(ch));
//结果为
[a,b,c,d]
字节与字符串
字节数组转字符串
String有两个byte 类型的构造函数
1、public String(byte bytes[]) //将字节数组变为字符串
byte[] bytes = {97,98,99,100};
String str = new String(bytes);
System.out.println(str);
//结果为
abcd
2、public String(byte bytes[],int offset,int count) //将部分字节数组中的内容变为字符串
byte[] bytes = {97,98,99,100};
String str = new String(bytes,1,2);
System.out.println(str);
//结果为
bc
字符串转字节数组
1、public byte[] getBytes(); //将字符串以字节数组的形式返回
String str = "abcd";
byte[] bytes = str.getBytes();
System.out.println(Arrays.toString(bytes));
//结果为
[97,98,99,100]
1、public byte[] getBytes(String charsetName)throws UnsupportedEncodingException; //编码转换处理
String str = "abcd";
byte[] bytes = str.getBytes("utf8");
System.out.println(Arrays.toString(bytes));
//结果为
[97,98,99,100]
总结
- byte[] 是把 String 按照一个字节一个字节的方式处理, 这种适合在网络传输, 数据存储这样的场景下使用. 更适合针对二进制数据来操作.
- char[] 是吧 String 按照一个字符一个字符的方式处理, 更适合针对文本数据来操作, 尤其是包含中文的时候.