zoukankan      html  css  js  c++  java
  • Java中数据类型转换大全(个人总结)

    一、字符串转换为其他类型

    1、将字符串转化为int型

      (1)方法一

    int i = Integer.parseInt(String str);

      (2)方法二

    int i = Integer.valueOf(String str).intValue();

      注:Integer.parseInt和 Integer.valueOf 不同,前者生成的是整型,而后者是一个对象,所以要通过intValue()来获得对象的值;

      字串转成 Double, Float, Long 的方法大同小异.

    2、将字符串转化为Double型

      (1)方法一

    Double i=Double.parseDouble(String str);

      (2)方法二

    Double i=Double.valueOf(String str).doubleValue();

    3、将字符串转化为Float型

      (1)方法一

    Float i=Float.parseFloat(String str);

      (2)方法二

    Float i=Float.valueOf(String str).floatValue();

    4、将字符串转化为Long 型

      (1)方法一

    Long i=Long .parseLong(String str);

      (2)方法二

    Long i=Long.valueOf(String str).longValue();

    二、其他类型转换为字符串

    1、将int类型转换为字符串

      (1)方法一

    String str = String.valueOf(int i);

      (2)方法二

    String str = Integer.toString(int i);

      (3)方法三

    String str = “” + i ;

      注: Double, Float, Long 的方法大同小异.

    2、将Double类型转换为字符串

      (1)方法一

    String str = String.valueOf(int i);

      (2)方法二

    String str = Double.toString(int i);

      (3)方法三

    String str = “” + i ;

    3、将Float类型转换为字符串

      (1)方法一

    String str = String.valueOf(int i);

      (2)方法二

    String str = Float.toString(int i);

      (3)方法三

    String str = “” + i ;

    4、将Long 类型转换为字符串

      (1)方法一

    String str = String.valueOf(int i);

      (2)方法二

    String str = Long .toString(int i);

      (3)方法三

    String str = “” + i ;

    三、Long、String、Date类型之间的转化

    1、java.util.Date类型转换成long类型 

    Date date=new Date();
    System.out.println(date.getTime());

      解析:其中getTime()返回为long类型,长度为13,表示毫秒;如果想获得秒数,只需要除以1000即可。

    long mseconds=date.getTime()/1000;

    2、long类型转换成java.util.Date类型

    SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
    java.util.Date date = new Date(mseconds * 1000);  
    String str = sdf.format(date);  
    System.out.println(str);

      前面的mseconds是表示的是秒数,所以要先乘1000得到毫秒数,再转为java.util.Date类型,这样就完成了long到Date的转化;

      为了格式化输出Date,可以调用SimpleDateFormat的format方法格式化输出Date

    3、形如“2015-08-31 21:08:06”等格式化string类型转换成java.util.Date类型

    String str="2015-08-31 21:08:06";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = (Date) sdf.parse(str);
    System.out.println(date.getTime());

      其输出结果为

    1441026486000

      有时候需要对CST时间进行转化,如:Wed Sep 16 11:26:23 CST 2009,此时同样可以用SimpleDateFormat的parse解决

    String str="Wed Sep 16 11:26:23 CST 2009";
    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
    Date date = (Date) sdf.parse(str);

    四、float类型、double类型、int类型的转换

     1、float类型转换为double类型

      (1)方法一

    /**
     * 借助Float型的doubleValue()方法
     */
    float f1=100.00f;
    Float F1=new Float(f1);//F1.doubleValue()为Float类的返回double值型的方法
    double d1=F1.doubleValue();

      (2)方法二

    /**
    * 先将float型转换为String类型,再转换成BigDecimal,借助其doubleValue()方法
    */
    float f = 127.1f;  
    BigDecimal b = new BigDecimal(String.valueOf(f));  
    double d = b.doubleValue(); 

    2、double类型转换为float类型

    double d = 3.14;  
    float f = (float)d;  

    3、double类型转换为int类型

    double d1=100.00;
    Double D1=new Double(d1);
    int i1=D1.intValue();

    4、int类型转换为double类型

    int i1=200;
    double d1=i1;

    五、其他应用小实例

     1、Long类型转换为int类型

      (1)方法一:强制转换

    long L = 300000; 
    int i=(int)L;

      (2)方法二:调用intValue()方法

    long L = 300000; 
    int i= new Long(L).intValue(); 

      (3)方法三:先把long转换成字符串String,然后在转行成Integer

    long L = 300000; 
    int i = Integer.parseInt(String.valueOf(L)); 
    

     2、Long类型转换为integer类型

    Integer i=new Long(Long l).intValue();

    六、总结

    1、字符串与其他类型间的转换

     (1)其他类型向字符串的切换

      a、调用类的串转换方法:X.toString();

      b.自动转换:X+“”;

      c.使用String的方法:String.valueOf(X);

     (2)字符串作为值,向其它类型的转换

      a.先转换成相应的封装器实例,再调用对应的方法转换成其它类型

    例如,字符中“32.1”转换double型的值的格式为:
    new Float(“32.1”).doubleValue()。

      b.静态parseXXX方法

    String s = "1";
    byte b = Byte.parseByte( s );
    short t = Short.parseShort( s );
    int i = Integer.parseInt( s );
    long l = Long.parseLong( s );
    Float f = Float.parseFloat( s );
    Double d = Double.parseDouble( s );

      c.Character的getNumericValue(char ch)方法

      返回指定的 Unicode 字符表示的 int 值。

     (3)其它实用数据类型转换

    2、数据类型

      基本类型有以下四种:

      (1)int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、

      (2)float长度数据类型有:单精度(32bits float)、双精度(64bits double)

      (3)boolean类型变量的取值有:ture、false

      (3)char数据类型有:unicode字符,16位

      (4)对应的类类型:Integer、Float、Boolean、Character、Double、Short、Byte、Long

    3、转换原则

      (1)从低精度向高精度转换

      byte 、short、int、long、float、double、char

      注:两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换

      (2)基本类型向类类型转换

      a.正向转换:通过类包装器来new出一个新的类类型的变量

      Integer a= new Integer(2);

      b.反向转换:通过类包装器来转换

      int b=a.intValue();

      (3)类类型向字符串转换

      a.正向转换:因为每个类都是object类的子类,而所有的object类都有一个toString()函数,所以通过toString()函数来转换即可

      b.反向转换:通过类包装器new出一个新的类类型的变量

      eg1: int i=Integer.valueOf(“123”).intValue()

      说明:上例是将一个字符串转化成一个Integer对象,然后再调用这个对象的intValue()方法返回其对应的int数值。

      eg2: float f=Float.valueOf(“123”).floatValue()

      说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。

      eg3: boolean b=Boolean.valueOf(“123”).booleanValue()

      说明:上例是将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。

      eg4:double d=Double.valueOf(“123”).doubleValue()

      说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。

      eg5: long l=Long.valueOf(“123”).longValue()

      说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。

      eg6: char=Character.valueOf(“123”).charValue()

      说明:上例是将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。

      (4)基本类型向字符串的转换

      a.正向转换:

      如:int a=12;

      String b;b=a+””;

      b.反向转换:

      通过类包装器

      eg1:int i=Integer.parseInt(“123”)

      说明:此方法只能适用于字符串转化成整型变量

      eg2: float f=Float.valueOf(“123”).floatValue()

      说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。

      eg3: boolean b=Boolean.valueOf(“123”).booleanValue()

      说明:上例是将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。

      eg4:double d=Double.valueOf(“123”).doubleValue()

      说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。

      eg5: long l=Long.valueOf(“123”).longValue()

      说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。

      eg6: char=Character.valueOf(“123”).charValue()

      说明:上例是将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。

  • 相关阅读:
    Leetcode Spiral Matrix
    Leetcode Sqrt(x)
    Leetcode Pow(x,n)
    Leetcode Rotate Image
    Leetcode Multiply Strings
    Leetcode Length of Last Word
    Topcoder SRM 626 DIV2 SumOfPower
    Topcoder SRM 626 DIV2 FixedDiceGameDiv2
    Leetcode Largest Rectangle in Histogram
    Leetcode Set Matrix Zeroes
  • 原文地址:https://www.cnblogs.com/javahr/p/8320566.html
Copyright © 2011-2022 走看看