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数值。

  • 相关阅读:
    服务器安装宝塔面板
    CentOS7操作SSH/SSHD服务(查看/启动/重启/自启)
    CentOS服务器升级Linux版本
    阿里云云服务器漏洞修复
    Linux服务器安装Docker
    服务器安装Nginx
    服务器端简单Demo
    实现博客内容折叠
    [转]珍惜时间,做好规划——致大学过半的你们
    【LeetCode】9. 回文数
  • 原文地址:https://www.cnblogs.com/javahr/p/8320566.html
Copyright © 2011-2022 走看看