Java中String与数组基本数据类型等的转换
Posted 巧克力爱王子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中String与数组基本数据类型等的转换相关的知识,希望对你有一定的参考价值。
字符串 -->基本数据类型、包装类
Integer包装类的public static int parseInt(String s):可以将由“数字”字符组成的字符串转换为整型。
类似地,使用java.lang包中的Byte、Short、Long、Float、Double类调相应的类方法可以将由“数字”字符组成的字符串,转化为相应的基本数据类型
基本数据类型、包装类 --> 字符串
调用String类的public String valueOf(int n)可将int型转换为字符串相应的valueOf(byte b)、
valueOf(long l)、valueOf(float f)、valueOf(double d)、valueOf(boolean b)可由参数的相应类型到字符串的转换
@Test
public void Test(){
String str = "123";
int num = Integer.parseInt(str);
System.out.println(num);//123
String str1 = String.valueOf(num);
System.out.println(str1);//"123"
String str2 = num + "hhh";
System.out.println(str2);//"123hhh"
}
字符数组–>字符串
String 类的构造器:String(char[]) 和 String(char[],int offset,intlength) 分别用字符数组中的全部字符和部分字符创建字符串对象。
字符串–>字符数组
1、public char[] toCharArray():将字符串中的全部字符存放在一个字符数组中的方法。
2、public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin):提供了将指
定索引范围内的字符串存放到数组中的方法。
//String 与 char[] 的转换
@Test
public void Test1(){
String str = "hello";
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
System.out.println(chars[i]);//h e l l o
}
char[] chars1 = new char[]{'h','e','l','l','o'};
String s = new String(chars1);
System.out.println(s);//hello
}
字节数组–>字符串
1、String(byte[]):通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的String。
2、String(byte[],int offset,int length) :用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。
字符串–>字节数组
1、public byte[] getBytes() :使用平台的默认字符集将此 String 编码为byte 序列,并将结果存储到一个新的 byte 数组中。
2、public byte[] getBytes(String charsetName) :使用指定的字符集将 此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。
// String 与 byte[] 的转换
@Test
public void Test2() throws UnsupportedEncodingException {
String str = "hao123在中国";
byte[] bytes = str.getBytes();//使用默认字符集进行编码(我的为UTF—8)
//UTF-8中,汉字占三个字节
System.out.println(Arrays.toString(bytes));//[104, 97, 111, 49, 50, 51, -27, -100, -88, -28, -72, -83, -27, -101, -67]
byte[] gbks = str.getBytes("gbk");//使用gbk字符集进行编码
System.out.println(Arrays.toString(gbks));//[104, 97, 111, 49, 50, 51, -44, -38, -42, -48, -71, -6]);
String s = new String(bytes);
System.out.println(s);//hao123在中国
String s1 = new String(gbks);
System.out.println(s1);//乱码,编码集和解码集不一致
String gbk = new String(gbks, "gbk");
System.out.println(gbk);//hao123在中国
}
以上是关于Java中String与数组基本数据类型等的转换的主要内容,如果未能解决你的问题,请参考以下文章
Java中的日历类/集合类/数学类/正则表达式/数组工具类等的常用方法与基本功能