• 黑马程序员JAVA基础基本数据类型对象包装类


      

      基本数据类型包装类是按照面向对象的思想讲基本数据类型封装成了对象。

      好处:

      1、可以通过对象中的属性和行为操作基本数据类型。

      2、可以实现基本数据类型和字符串之间的转换。 

      JAVA 对基本数据类型对象对应的包装类:

        byte                   Byte

        int                      Integer

        long                    Long 

        boolean      Boolean

        float                Float 

        double      Double

        char        Character

      

    一. 基本数据类型和字符串之间的转换:

      1、基本数据类型转换成字符串:

        基本数据类型+"" ;

        基本数据类型包装类对象.toString(基本数据类型) ; 

        注意:这里的toString 方法不是Object 类的。而是重载了toString 方法。同时,该方法为静态。

     1 public class IntegerText {
     2     public static void main(String[] args)
     3     {
     4         int x = 123345 ; 
     5         String s = x + "" ; 
     6         System.out.println("s="+s+";s的长度为:"+s.length()); 
     7 //        使用toString 方法。
     8         String str = Integer.toString(123345) ; 
     9 //        这里的equals 方法是重写了Object 类的方法。
    10         System.out.println("str.equals(s):"+str.equals(s)); 
    11         System.out.println("s==str:" + (s == str));
    12     }
    13 }

      2、字符串转换成基本数据类型: 

          xxx a = Xxx.parseXxx(String) ;  

    1 public class StringToBase {
    2     public static void main(String[] arg)
    3     {
    4         int a = Integer.parseInt("123") ;
    5         System.out.println("a == " + a); 
    6 //        下面的代码会出现异常:
    7         int b = Integer.parseInt("xxx123") ;  
    8     }
    9 }

      

    二.JDK 1.5 新特性:

      如下:  

     1 public class IntegerText {
     2     public static void main(String[] args)
     3     { 
     4         Integer a = 127 ;
     5         Integer b = 127; 
     6         Integer c = new Integer(127) ; 
     7         System.out.println("a.equals(b):"+a.equals(b));
     8         System.out.println("a == b :" + (a == b));
     9         System.out.println("a.equals(c):"+a.equals(c));
    10         System.out.println("a == c :" + (a == c));
    11         System.out.println("-----我是分割线--------------");
    12         a += 1 ;
    13         b += 1 ; 
    14         System.out.println("a.equals(b):"+a.equals(b));
    15         System.out.println("a == b :" + (a == b)); 
    16     }
    17 }

      打印的结果如下: 

    a.equals(b):true
    a == b :true
    a.equals(c):true
    a == c :false
    -----我是分割线--------------
    a.equals(b):true
    a == b :false

      新特性:

      1、可以对基本数据类型对象进行直接赋值。原理是通过自动装箱和自动拆箱来完成。

      如第12行的代码: a 进行自动拆箱(a.intVaule()) 变成 int 类型,和1进行加法运算,再装箱。

      2、当数值在byte 范围内,如果该数值已经存在,则不会开辟新的空间。

      如:当a 和 b的基本类型数值在byte 范围内,a == b 返回的 true ; 而当a 和 b 的基本类型数值大于127 时,则 a == b 返回 false ;

    三.常用的方法还有:

      十进制转成其他进制:

        toBinaryString(int i) : 以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。

        toOctalString(int i) : 八进制

        toHexString(int i ) ; 十六进制。

      其他进制转换成十进制:

        parseInt(String,radix):使用第二个参数指定的基数,将字符串参数解析为有符号的整数。

  • 相关阅读:
    素材收集
    网站返回503
    uva 1048 最短路的建图 (巧,精品)
    hdu5188 01 背包
    hdu 5187 快速幂 + 快速乘 值得学习
    差分约束
    uva11090 Bellman-Ford 运用
    hdu 5185 动态规划 分析降低复杂度
    hdu5184 数论证明
    HDU5183 hash 表
  • 原文地址:https://www.cnblogs.com/jbelial/p/2981020.html
Copyright © 2020-2023  润新知