java中string与其他类型数据之类的转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中string与其他类型数据之类的转换相关的知识,希望对你有一定的参考价值。
//通过包装类来实现转化的int num=Integer.valueOf("12");
int num2=Integer.parseInt("12");
double num3=Double.valueOf("12.2");
double num4=Double.parseDouble("12.2");
//其他的类似。通过基本数据类型的包装来的valueOf和parseXX来实现String转为XX
String a=String.valueOf("1234");//这里括号中几乎可以是任何类型
String b=String.valueOf(true);
String c=new Integer(12).toString();//通过包装类的toString()也可以
String d=new Double(2.3).toString(); 参考技术A 时间类型转换:
String str = "2010-11-4 17:50:55.66";
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
fmt.format(fmt.parse(str));
int 型 :
int i=Integer.parseInt(String str);
转成 Double, Float, Long 的方法大同小异. 参考技术B string转换int------- String x="值";int i=integer.parseInt(x);
转换double------String x="值";double i=Double.parseDouble(x);
转换float------String x="值";float h=Float.parseFloat(x);
转换boolean------String s=”true”; Boolean flag=Boolean.valueOf (“s”);
转换char Exp String s=”abc”; Char a=s.charAt(0);
转换byte、short Exp String s=”0”; Byte b=Integer.intValue(s); Short sh=Integer.intValue(s);
其他:1. short-->int 转换
exp: short shortvar=0;
int intvar=0;
shortvar= (short) intvar
2. int-->short 转换
exp: short shortvar=0;
int intvar=0;
intvar=shortvar;
3. int->String 转换
exp: int intvar=1;
String stringvar;
Stringvar=string.valueOf (intvar);
4. float->String 转换
exp: float floatvar=9.99f;
String stringvar;
Stringvar=String.valueOf (floatvar);
5. double->String 转换
exp double doublevar=99999999.99;
String stringvar;
Stringvar=String.valueOf (doublevar);
6. char->String 转换
exp char charvar=’a’;
String stringvar;
Stringvar=String.valueOf (charvar);
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与其他类型数据之类的转换的主要内容,如果未能解决你的问题,请参考以下文章
一文了解 Go 标准库 strconv:string 与其他基本数据类型的转换
3.6 java基础总结①包装类,基本数据类型,String相互间转换