zoukankan      html  css  js  c++  java
  • java常用数据类型转换

    在Java开发过程中经常会涉及到数据类型的转换问题,比如数字型转字符型,字符型转日期型,字符串转数组等等,以及其他类型的强制转换等。经常出现,所以有必要总结一下。

    1、如何将字串 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);
      }
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++

    数据类型

    基本类型有以下8种
    整数类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、
    浮点类型有:单精度(32bits float)、双精度(64bits double)
    布尔变量有:boolean 取值ture、false
    字符类型有:char  unicode字符,16位
    基本类型对应的类类型:Integer、Float、Boolean、Character、Double、Short、Byte、Long
    引用数据类型(Reference Type)类、接口、数组
    引用类型 变量名 = new 引用类型名(参数); //new后面一般跟的都是类的构造器

    转换原则

    基本类型自动转换:从低精度向高精度转换
    byte 、short、int、long、float、double、char
    注:两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换

    基本类型向类类型转换

    正向转换:通过类包装器来new出一个新的类类型的变量
    Integer a= new Integer(2);
    反向转换:通过类包装器来转换
    int b=a.intValue();

    类类型向字符串转换

    正向转换:因为每个类都是object类的子类,而所有的object类都有一个toString()函数,所以通过toString()函数来转换即可
    反向转换:通过类包装器new出一个新的类类型的变量
    String转基本类型
    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数值。
    常见数据类型转换
    1、字符串转数组
            /**
            * 不带分割符号的字符串转数组
            * @param str
            */
            public char [] StringToArry(String str)
           {
                   char[] charArry =str .toCharArray();
                   return charArry ;
           }
        /**
         * 带分割符号的字符串转数组
         * @param str
         * @param separator
         */
            public String[] StringToArry(String str ,String separator )
           {
                   String[] arry= str.split( separator);
                   return arry ;
           }
    2、ArrayList与Array互换
    eg.
     
    /**
            * list转一维数组
            * @param arrayList
            * @return
            * @author zhengshuheng
            */
            public String[] listToArry(ArrayList<String> arrayList)
        {
               String[] array= new String[arrayList .size()];
                array= arrayList.toArray(array );
                System. out.print("{" );
                for (int i = 0; i < array.length; i++) {
                               String string = array[i];
                               System. out.print(string);
                                if (i<array.length -1) {
                                      System. out.print("," );
                               }
                                else {
                                      System. out.print("" );
                               }
                           }
                System. out.print("}" );
                System. out.println();
                return array ;
        }
    
              /**
               * list转二维数组
               * @param arraylist
               * @return
               * @author zhengshuheng
               */
                   public String[][] listToArray(ArrayList<String[]> arraylist)
                  {
                         String[][] array= new String[arraylist.size()][];
                         array=arraylist.toArray(array);
                         System. out.print("{" );
                          for (int i = 0; i < array.length; i++) {
                               String[] objects = array[i];
                               System. out.print("{" );
                                for (int j = 0; j < objects.length; j++) {
                                      String string = objects[j];
                                      System. out.print(string);
                                       if (j<objects.length -1) {
                                             System. out.print("," );
                                      }
                                       else {
                                             System. out.print("" );
                                      }
                               }      
                               System. out.print("}" );
                                if (i<array.length -1) {
                                      System. out.print("," );
                               }
                                else {
                                      System. out.print("" );
                               }
                         }
                         System. out.print("}" );
                         System. out.println();
                          return array;
    
                  }      
                   /**
                   * 数组转list
                   * @param array
                   * @return
                   * @author zhengshuheng
                   */
                   public ArrayList<String> arryToList(String[] array)
                  {
                         ArrayList<String> list= new ArrayList<String>(Arrays.asList(array));
                         System. out.print("[" );
                          for (int i = 0; i < list.size(); i++) {
                               String string =list.get(i);
                               System. out.print(string);
                                if (i<array.length -1) {
                                      System. out.print("," );
                               }
                                else {
                                      System. out.print("" );
                               }
                               
                         }
                         System. out.print("]" );
                         System. out.println();
                          return list;
                  }
       
    测试:
     
    public static void main(String[] args) {
                   // TODO 自动生成的方法存根
                  ArrayList<String[]> arraylist= new ArrayList<String[]>();
                  String[] array1={ "1","2" ,"3" ,"4" };
                  String[] array2={ "a","b" ,"c" };
                  arraylist.add(array2);
                  arraylist.add(array1);
                  ArrayList<String> arrayList2= new ArrayList<String>();
                  arrayList2.add( "A");
                  arrayList2.add( "B");
                  arrayList2.add( "C");
                  arrayList2.add( "D");
                  Demo1 demo= new Demo1();
                  String[][] array=demo.listToArray(arraylist);
                  String[] array3=demo.listToArry(arrayList2);
                  ArrayList<String> arrayList3=demo.arryToList(array1);
            
           }
    输出:
    {{a,b,c},{1,2,3,4}}
    {A,B,C,D}
    [1,2,3,4]
    

      

  • 相关阅读:
    成为优秀程序员的101条建议(3)
    shell字符串的用法
    Centos yum国内源及配置含义
    go自动补全
    shell中空格的使用;空格替换;通配符
    shell自动补全功能:bash和zsh;zsh启动优化
    Mac下的命令行自动补全功能
    mac环境下intellij的自定义配置文件位置
    vim中delete(backspace)键不能向左删除
    一个性能较好的JVM参数配置
  • 原文地址:https://www.cnblogs.com/zhengshuheng/p/5577152.html
Copyright © 2011-2022 走看看