精华内容
下载资源
问答
  • Java 类型转换

    万次阅读 2019-05-17 08:11:26
    一、自动类型转换(隐式类型转换) 整型、实型(常量)、字符型数据可以混合运算。不同类型的数据先转化为同类型再进行运算 自动转换按从低级到高级顺序: char ↓ Byte→short→int→long---›float→double ...

    一、自动类型转换(隐式类型转换)

    整型、实型(常量)、字符型数据可以混合运算。不同类型的数据先转化为同类型再进行运算

    自动转换按从低级到高级顺序:

              char

               ↓

    Byte→short→int→long---›float→double

    自动转换有以下规律:

    小的类型自动转化为大的类型

    整数类型可以自动转化为浮点类型,可能会产生舍入误差

    1.自动类型转换(隐式转换)         

    小的类型自动转化为大的类型         

    byte A = 70;

                      int B = A + 30;

                      System.out.println(B);

    byte小类型转int大类型

    1.1自动类型转换

    byte a = 0;

                    int b = a;

                    long c = a;

                    float d = a;

                    double e = a;

    System.out.println("b="+b);

                   System.out.println("c="+c);

                   System.out.println("d="+d);

                   System.out.println("e="+e);

            从小的类型转为高的类型,byte转int,long,float,double

            得出结果:0  0  0.0  0.0

    1.2整数类型可以自动转化为浮点类型,可能会产生舍入误差

               float A = 2 + 10f;

                      float B = A - 11.9f;

                      System.out.println(B);

               结果: 0.10000038

               精准度和准确度是有差距的,float精准度的准确姓流失

    二、强制类型转换(显式类型转换)

    1.int是要强制类型转换后的数据类型

    强制类型转换可能导致溢出或损失精度,如下图:

    强制转换类型,在要强制转换类型的前面加上括号,然后再括号里面加上你要转换的类型。

    有些数据经过转换运算后,精度就丢失了,上图的例子就可以明确看出

    由上面得出,int55.55强制转换,由于55.55转成了55,同样的22.22转成22,得出x的结果是77,(double)x这个double类型的强制转换,经过强制转换,x的值变为55.0,而(double)1.1也强制转换成 double类型,所以变成1.0,最后的出来的值为79.199999999999999

    因为类型转换导致精度损失,使55.55变成55。。。1.1变成 1

    运行结果得出来的值分别为:

    X=77

    Y=79.199999999999999

    2.浮点数转换整数是通过舍弃小数得到的,而不是四舍五入

    int A= (int) 11.7;

    int B = (int) -21.6;

                System.out.println(A);

                System.out.println(B);

    要把11.7转成int整型,在转换值前(也就是11.7前)加括号,把要转换的类型写在括号里,进行强制转换,转换后丢失精度

    结果:

    A=11

    B=-21

    1.1容量大类型转容量小类型

    在把容量大的类型转换为容量小的类型时必须使用强制类型转换

    int A=120;

             byte B=(byte) A;

             System.out.println(B);

    展开全文
  • java 类型转换

    千次阅读 2019-01-10 14:35:03
    基本数据类型的Casting: ...对java对象的强制类型转换称为造型: 从子类到父类的类型转换可以自动进行(多态) 从父类到子类的类型必须通过造型(强制类型转换)实现 无继承关系的的引用类型间的...

    基本数据类型的Casting:

    自动类型转换:小的转换大的 如long s = 20; double d=12.0f

    强制类型转换:可以把大的数据转换小的float f=(float)12.0;int a=(int)200L

    对java对象的强制类型转换称为造型:

    1. 从子类到父类的类型转换可以自动进行(多态)
    2. 从父类到子类的类型必须通过造型(强制类型转换)实现
    3. 无继承关系的的引用类型间的转换是非法的
    4. 在造型前可以使用instanceof操作符测试一个对象的类型
    展开全文
  • java类型转换

    千次阅读 2018-07-02 15:27:03
    类型转换Java中的类型转换可以分为13种,1 标识转换 是最简单的就是同种类型之间的转换。2 拓展简单类型转换 拓展简单类型转换涉及到基本数据类型,比如byte转换为short,int,long,float,double;short转换为int,long...

    类型转换

    Java中的类型转换可以分为13种,

    1 标识转换 是最简单的就是同种类型之间的转换。

    2 拓展简单类型转换 拓展简单类型转换涉及到基本数据类型,比如byte转换为short,int,long,float,double;short转换为int,long,float,double;int转换为long,float,double.以及long转换为float,double.其中针对以下几种情况数字行值会被完整的保留下来。1:一种整形转换为另外一种整形 2:从 byte,short或char转换为浮点型。 3从int转换为double类型。ps备注从int转化为float在某些情况下会丢失。参考上个博客的最后例子。

    3 窄化简单类型转换

     Short转化为byte或char;char转化为byte或short;int转化为byte,short,char;long转化为byte,short,char,int;float转化为byte,short,char,int或long,double转化为byte,short,char,int,long或float。窄化简单类型转换可能会丢失有关数字型值的信息还有可能丢失精度。有符号整数值向整数类型窄化转换的时候会直接丢弃的最低n位数值之外的其他所有数字。浮点型向整数类型T窄化转换的时候。按照如下步骤进行

    代码解释,对照流程图可以看出,当是long和int的时候都是采用最大和最小值进行的。对于short而言,先转换为int。然后截取对应最大int的低16位和高16位的值分别为0和-1.char和byte也是如此道理。Char为’\u0000’和’\uffff’.

    4:扩宽类型转换和窄化类型同时进行

    如byte转化为char类型的时候,依据第二条先转化为int,再将int转换为char。

    5:扩宽引用类型转换

             即我们经常将子类转换为父类。

    6:窄化引用类型转换

             这种我们经常用的是进行强制转换。这种一旦转换失败就会抛出classCastException

    7:  装箱转换和拆箱转换

             对于装箱转换是指jdk基本类型提供了对应的类。然后默认可以自动进行拆箱和装箱机制。

    8: 非受检转换

     这条是针对泛型而言的,在我们经常会用到List list = new ArrayList<String>();此时由于前面是存在list是字符串类型的泛型。但是我们可以强制使他指向一个不是string类型的List。这时在编译期是检测不出来的。因为编译期间会执行泛型擦除。这时如果转换失败也会抛出classCastException

    9: 捕获转换

    这时指抛出异常的时候,在进行try,catch的时候。

    10:字符串转换

             对于基本类型转化为字符串类型的时候首先会转换为对应的装箱操作。如果对应引用为空,则返回’null’否则调用对应的toString方法。

     



     

     


    展开全文
  • Java类型转换

    千次阅读 2012-09-27 00:46:26
    string和int之间的转换? 字符串转换成数据 Java代码 String MyNumber ="1234";...字符串转换成byte, short, int, float, double, long等数据类型,可以分别参考Byte, Short, Integer

    string和int之间的转换?

    字符串转换成数据

    Java代码  收藏代码
    1. String MyNumber ="1234";   
    2. int MyInt = Integer.parseInt(MyNumber);   

    字符串转换成byte, short, int, float, double, long等数据类型,可以分别参考Byte, Short, Integer, Float, Double, Long类的parseXXX 方法。

    Java代码  收藏代码
    1. a1=Integer.parseInt(s1);   
    2. s1=Integer.toString(a1);   


    数据转换成字符串
    Java代码  收藏代码
    1. int MyInt = 1234;   
    2. String MyString = "" + MyInt;   

    其它数据类型可以利用同样的方法转换成字符串。

    十进制到其他进制的转换
    十进制整数转换成二进制整数,返回结果是一个字符串:
    Integer.toBinaryString(int i);
    Integer和Long提供了toBinaryString, toHexString和toOctalString方法,可以方便的将数据转换成二进制、十六进制和八进制字符串。功能更加强大的是其toString(int/long i, int radix)方法,可以将一个十进制数转换成任意进制的字符串形式。
    byte, short, float和double等数据类型,可以利用Integer或者是Long的toBinaryString, toHexString, to OctalString和toString方法转换成其他进制的字符串形式。

    其它进制到十进制的转换
    五进制字符串14414转换成十进制整数,结果是1234:
    System.out.println(Integer.valueOf("14414", 5);
    Integer和Long提供的valueOf(String source, int radix)方法,可以
    将任意进制的字符串转换成十进制数据。

    把String类型转换成16进制的整数
    Java代码  收藏代码
    1. public static void main(String args[]){  
    2. String x = "0x300C8";  
    3. int y = Integer.decode(x).intvalue();  
    4. System.out.println(y);  
    5. }  


    int、char、double与byte相互转换的程序
    整数到字节数组的转换
    Java代码  收藏代码
    1. public static byte[] intToByte(int number) {  
    2.   int temp = number;  
    3.   byte[] b=new byte[4];  
    4.   for (int i=b.length-1;i>-1;i--){  
    5.     b[i] = new Integer(temp&0xff).byteValue();      //将最高位保存在最低位  
    6.     temp = temp >> 8;       //向右移8位  
    7.   }  
    8.   return b;  
    9. }  


      字节数组到整数的转换
     
    Java代码  收藏代码
    1. public static int byteToInt(byte[] b) {  
    2.     int s = 0;  
    3.     for (int i = 0; i < 3; i++) {  
    4.       if (b[i] >= 0)  
    5.         s = s + b[i];  
    6.       else  
    7.         s = s + 256 + b[i];  
    8.       s = s * 256;  
    9.     }  
    10.     if (b[3] >= 0)       //最后一个之所以不乘,是因为可能会溢出  
    11.       s = s + b[3];  
    12.     else  
    13.       s = s + 256 + b[3];  
    14.     return s;  
    15.   }  


    短整数与字节数组之间的相互转换
    short与int之间的区别在于short是两个字节的,而int是四个字节的。因此,只需要将5 与6 中的范例程序小做改动,即可实现短整数与字节数组之间的相互转换。


      字符到字节转换
     
    Java代码  收藏代码
    1. public static byte[] charToByte(char ch){  
    2.     int temp=(int)ch;  
    3.     byte[] b=new byte[2];  
    4.     for (int i=b.length-1;i>-1;i--){  
    5.       b[i] = new Integer(temp&0xff).bytevalue();      //将最高位保存在最低位  
    6.       temp = temp >> 8;       //向右移8位  
    7.     }  
    8.     return b;  
    9.   }  


      //字节到字符转换
     
    Java代码  收藏代码
    1. public static char byteToChar(byte[] b){  
    2.     int s=0;  
    3.     if(b[0]>0)  
    4.       s+=b[0];  
    5.     else  
    6.       s+=256+b[0];  
    7.     s*=256;  
    8.     if(b[1]>0)  
    9.       s+=b[1];  
    10.     else  
    11.       s+=256+b[1];  
    12.     char ch=(char)s;  
    13.     return ch;  
    14.   }  


      浮点到字节转换
     
    Java代码  收藏代码
    1. public static byte[] doubleToByte(double d){  
    2.     byte[] b=new byte[8];  
    3.     long l=Double.doubleToLongBits(d);  
    4.     for(int i=0;i<b.length;i++){  
    5.       b[i]=new Long(l).bytevalue();  
    6.       l=l>>8;  
    7.     }  
    8.     return b;  
    9.   }  


      字节到浮点转换
     
    Java代码  收藏代码
    1. public static double byteToDouble(byte[] b){  
    2.     long l;  
    3.     l=b[0];  
    4.     l&=0xff;  
    5.     l|=((long)b[1]<<8);  
    6.     l&=0xffff;  
    7.     l|=((long)b[2]<<16);  
    8.     l&=0xffffff;  
    9.     l|=((long)b[3]<<24);  
    10.     l&=0xffffffffl;  
    11.     l|=((long)b[4]<<32);  
    12.     l&=0xffffffffffl;  
    13.    
    14.     l|=((long)b[5]<<40);  
    15.     l&=0xffffffffffffl;  
    16.     l|=((long)b[6]<<48);  
    17.   
    18.   
    19.     l|=((long)b[7]<<56);  
    20.     return Double.longBitsToDouble(l);  
    21.   }  


    int与byte array之间的转换程序
    在通讯中经常需要将数值转换成字节流,或者是将字节流转换成数值。下面
    提供的程序可以进行int和byte array之间的转换。

    Java代码  收藏代码
    1. /** 
    2.  * 
    3.  * IntConverter 
    4.  * 
    5.  * This class provides methods to convert int into byte array and 
    6.  * byte array back into int. 
    7.  * 
    8.  */  
    9. public class IntConverter  
    10. {  
    11.         /** 
    12.          * 
    13.          * Method converting int into byte array. 
    14.          * 
    15.          * @param number The int value to be converted. 
    16.          * 
    17.          */  
    18.         public static byte[] toByteArray(int number)  
    19.         {  
    20.             int temp = number;  
    21.             byte[] b=new byte[4];  
    22.             for (int i = b.length - 1; i > -1; i--)  
    23.             {  
    24.                 b[i] = new Integer(temp & 0xff).bytevalue();  
    25.                 temp = temp >> 8;  
    26.             }  
    27.             return b;  
    28.         }  
    29.    
    30.         /** 
    31.          * 
    32.          * Method converting byte array into int. 
    33.          * 
    34.          * @param The byte array to be converted. 
    35.          * 
    36.          */  
    37.         public static int toInteger(byte[] b)  
    38.         {  
    39.             int s = 0;  
    40.             for (int i = 0; i < 3; i++)  
    41.             {  
    42.                 if (b[i] > 0)  
    43.                     s = s + b[i];  
    44.                 else  
    45.                     s = s + 256 + b[i];  
    46.                 s = s * 256;  
    47.             }  
    48.             if (b[3] > 0)  
    49.                 s = s + b[3];  
    50.             else  
    51.                 s = s + 256 + b[3];  
    52.             return s;  
    53.         }  
    54.    
    55.     // Testing program.  
    56.     public static void main(String[] args)  
    57.     {  
    58.         IntConverter abc = new IntConverter();  
    59.         int s = -1121115678;  
    60.         byte[] b = abc.toByteArray(s);  
    61.         for (int i = 0; i <= 3; i++)  
    62.                 System.out.println(b[i]);  
    63.         s = abc.toInteger(b);  
    64.         System.out.println(s);  
    65.     }  
    66. }  


    字节数组到整数的转换

    Java代码  收藏代码
    1. public static int byteToint(byte[] convertByteValue)  
    2.      { byte[] YY=new byte[4];  
    3.       YY=convertByteValue;  
    4.       int ee, ff, gg, hh;  
    5.       ee = YY[3] & 0x000000ff;  
    6.       //System.out.println("ee: " +ee);  
    7.       ff = (YY[2]<<8) & 0x0000ff00;  
    8.       //System.out.println("ff: " +ff);  
    9.       gg = (YY[1]<<16) & 0x00ff0000;  
    10.       // System.out.println("gg: " +gg);  
    11.       hh = YY[0]<<24;  
    12.       // System.out.println("hh: "+hh);  
    13.       int jj = ee + ff + gg + hh;  
    14.       // System.out.println("jj: "+jj);  
    15.       return jj;  
    16.       }  


        整数到字节数组的转换

      
    Java代码  收藏代码
    1. public byte[] intTobyte(int convertIntValue)  
    2.     { int Y;  
    3.       Y = 1321432453;  
    4.       byte YY[] = new byte[4];  
    5.       Integer aa = new Integer(Y);  
    6.        YY[3] = aa.byteValue();  
    7.       Integer bb = new Integer(Y>>>8);  
    8.        YY[2] = bb.byteValue();  
    9.       Integer cc = new Integer(Y>>>16);  
    10.        YY[1] = cc.byteValue();  
    11.       Integer dd = new Integer(Y>>>24);  
    12.        YY[0] = dd.byteValue();  
    13.        return YY;  
    14.        } 


    如何将字串 String 转换成整数 int?

      A. 有两个方法:

      1). int i = Integer.parseInt([String]); 或

      i = Integer.parseInt([String],[int radix]);

      2). int i = Integer.valueOf(my_str).intValue();

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

      2 如何将整数 int 转换成字串 String ?

      A. 有叁种方法:

      1.) String s = String.valueOf(i);

      2.) String s = Integer.toString(i);

      3.) String s = "" + i;

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

      这是一个例子,说的是JAVA中数据数型的转换.供大家学习引

      package cn.com.lwkj.erts.reGISter;

      import java.sql.Date;

      public class TypeChange {

      public TypeChange() {

      }

      //change the string type to the int type

      public static int stringToInt(String intstr)

      {

      Integer integer;

      integer = Integer.valueOf(intstr);

      return integer.intValue();

      }

      //change int type to the string type

      public static String intToString(int value)

      {

      Integer integer = new Integer(value);

      return integer.toString();

      }

      //change the string type to the float type

      public static float stringToFloat(String floatstr)

      {

      Float floatee;

      floatee = Float.valueOf(floatstr);

      return floatee.floatValue();

      }

      //change the float type to the string type

      public static String floatToString(float value)

      {

      Float floatee = new Float(value);

      return floatee.toString();

      }

      //change the string type to the sqlDate type

      public static java.sql.Date stringToDate(String dateStr)

      {

      return java.sql.Date.valueOf(dateStr);

      }

      //change the sqlDate type to the string type

      public static String dateToString(java.sql.Date datee)

      {

      return datee.toString();

      }

      public static void main(String[] args)

      {

      java.sql.Date day ;

      day = TypeChange.stringToDate("2003-11-3");

      String strday = TypeChange.dateToString(day);

      System.out.println(strday);

      }

      }

      JAVA中常用数据类型转换函数

      虽然都能在JAVA API中找到,整理一下做个备份。

      string->byte

      Byte static byte parseByte(String s)

      byte->string

      Byte static String toString(byte b)

      char->string

      Character static String to String (char c)

      string->Short

      Short static Short parseShort(String s)

      Short->String

      Short static String toString(Short s)

      String->Integer

      Integer static int parseInt(String s)

      Integer->String

      Integer static String tostring(int i)

      String->Long

      Long static long parseLong(String s)

      Long->String

      Long static String toString(Long i)

      String->Float

      Float static float parseFloat(String s)

      Float->String

      Float static String toString(float f)

      String->Double

      Double static double parseDouble(String s)

      Double->String

      Double static String toString(Double d)


    展开全文
  • Java类型转换: int转double

    万次阅读 2019-02-23 16:52:10
    标题Java类型转换: int转double 由于double的范围比int数据类型大,所以当int值被赋给double时,java会自动将int值转换为double。 隐式转换:由于double数据类型的范围和内存大小都比int大,因此从int到double的...
  • JAVA类型转换

    千次阅读 2006-11-16 13:12:00
    1.JAVA中常用数据类型转换函数string->byteByte static byte parseByte(String s) byte->string Byte static String toString(byte b) char->string Character static String to String (char c) string->Short ...
  • Java类型转换之自动类型转换和强制类型转换区别理解总结
  • Mysql与Java类型转换

    千次阅读 2017-08-19 15:41:24
    Mysql与Java类型转换: MySql 类型名 GetColumnClassName 返回值 返回的 Java 类 BIT(1)(MySQL-5.0 新引入) BIT java.lang.Boolean BIT(大于 1) (MySQL-5.0 新引入) ...
  • JAVA类型转换系列文章一

    千次阅读 2010-11-05 15:38:00
    JAVA类型转换系列文章一
  • 自己的项目中,有个定时任务的模块,里面需要将返回的对象强转为某个实体类JobModel,可是在转换的过程中,却报出了java.lang.ClassCastException: ... at com.jy.admin.server....
  • 前几天一个项目需要解析自定义的二进行LOG格式,因LOG文件为C语言写入,数据结构与JAVA不能完全匹配(最典型的是C中的unsigned类型与JAVA中的整型之间),引如下转换方式,备考:一、JAVA进制类型转换十进制转成十六...
  • java类型转换精度丢失

    千次阅读 2019-06-03 20:19:05
    在进行详细讲解之前,先看看数值类型之间的合法转换:     从图中我们可以看出存储占用字节少的类型向存储占用字节多的类型转化不会丢失精度,而存储占用字节多的类型向存储占用字节少的类型...
  • java类型转换 Integer String Long Float Double Date       1如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String]...
  • java类型转换工具类Convert

    千次阅读 2019-09-16 21:15:28
    import java.math.BigDecimal; import java.math.BigInteger; import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.text.NumberFormat; import java.util.Set; import ...
  • 在项目中,需要使用XStream将xml string转成相应的对象,却报出了java.lang....项目中应该是采用了热部署,devtools,因为累加载器的不同所以会导致类型转换失败 措施: 在pom.xml中将以下代码注释掉: <...
  • Java 类型转换: char转int

    千次阅读 2019-02-20 22:47:16
    类型转换: char转int 源码 package com.onlydemo.javalang; /** * 类型转换: char转int * * 1.char-'0' 将char转int * 2.Character.getNumericValue(char ch) 将char转int * * @author ...
  • Java 类型转换 Object和String互转

    万次阅读 2017-03-07 09:54:22
    1.java.lang.Object.toString() 使用范围:任何继承Object的类都具有这个方法 返回:该对象的字符串表示 但是,使用toString()的对象不能为null,否则会抛出异常java.lang.NullPointerException Intege
  • list为List\类型的对象,但是提示java.lang.ClassCastException: com.ekingstar.common.meeting.MeetingCustom cannot be cast to com.ekingstar.common.meeting.MeetingCustom.新人没有c币,还请大神解答一下
  • java类型转换之向上转换和向下转换

    千次阅读 2018-04-27 09:53:02
    向上转型:即子类对象转换为父类对象。向下转型:即父类对象转为子类对象,这是又分为安全的向下转型和不安全的向下转型 class Animal{ String type; public Animal(String type){ this.type = type; } ...
  • Java类型转换基本规则

    千次阅读 2013-11-15 21:34:55
    在进行方法调用时,数据类型指调用方法向被调用方法传递参数,即实参和型参类型不一致,从而发生了类型转换。  3、赋值和方法调用的基本数据类型转换规则一样。合法的基本类型转换原则是指从取
  • 现在要做一个pageable分页查询 有如下代码: Sort request_sort=new Sort(Sort.Direction.DESC,"userId"); Pageable request_pageable=new PageRequest... 该如何转换? 新入坑没有C币,刚入行问的问题比较肤浅..
  • java类型转换防止报异常

    千次阅读 2016-04-28 17:11:26
    将字符串转换为整形时: 代码如下(会报错):String count = ""; int result = Integer.parseInt(count);...执行结果(错误日志):Exception in thread "main" java.lang.NumberFormatException: For input strin
  • java类型转换与强制类型转换的实现

    千次阅读 2007-05-31 14:41:00
    然而,不是所有的类型都是兼容的,因此,不是所有的类型转换都是可以隐式实现的。例如,没有将double 型转换为byte 型的定义。幸好,获得不兼容的类型之间的转换仍然是可能的。要达到这个目的,你必须使用一个强制
  • java类型转换的小问题

    2015-06-26 09:41:56
    ![图片说明]...我自己用几个版本的eclipse编译都没问题,连个警告都没有,为什么这个代码在同事那里编译错误,我们都是jdk 1.7的,是他的编译器有问题吗?一查网上都说要这样搞
  • java类型转换:enum与int

    千次阅读 2017-03-14 10:40:53
    Enum类是JDK1.5引入的新特性,存放在java.lang包中,项目开发中,大多用于...}比定义静态整型变量简洁方便,借助Enum类的成员方法ordinal() 转换成int类型非常容易:int tmp = Status.RUNNING.ordinal(); System.out
  • 百度了很久找到一个帖子,原因是因为项目中应该是采用了热部署,devtools,因为累加载器的不同所以会导致类型转换失败。SpringBoot的devtools引起的,下面的依赖去掉应该就可以了。我试了一下,确实解决了我刚才的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,552
精华内容 19,820
关键字:

java类型转换

java 订阅