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与其他类型数据之类的转换的主要内容,如果未能解决你的问题,请参考以下文章

java中如何进行字符串和数据类型的转换?

Java将其他数据类型转换成JSON字符串格式

一文了解 Go 标准库 strconv:string 与其他基本数据类型的转换

3.6 java基础总结①包装类,基本数据类型,String相互间转换

java ) char类型可以自动转化成String类型吗?

java中double类型转换为String类型?