博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
黑马程序员-JAVA基础-基本数据类型对象包装类
阅读量:6995 次
发布时间:2019-06-27

本文共 2429 字,大约阅读时间需要 8 分钟。

------- android培训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):truea == b :truea.equals(c):truea == c :false-----我是分割线--------------a.equals(b):truea == 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):使用第二个参数指定的基数,将字符串参数解析为有符号的整数。

转载地址:http://eoivl.baihongyu.com/

你可能感兴趣的文章
【LeetCode】3. Longest Substring Without Repeating Characters
查看>>
dao层结构的设计方案
查看>>
(一) 从零开始搭建Spark Standalone集群环境搭建
查看>>
非负矩阵分解(4):NMF算法和聚类算法的联系与区别
查看>>
统计学习方法:核函数(Kernel function)
查看>>
[LeetCode] Minimum Depth of Binary Tree
查看>>
RabbitMQ 之 订阅模式 Publish/Subscribe
查看>>
J-6 面向对象
查看>>
文件上传,跨浏览器统一的样式
查看>>
LeetCode OJ - Minimum && Maximum Depth of Binary Tree
查看>>
51Nod1130斯特林近似
查看>>
Java环境变量的设置
查看>>
AC日记——灾后重建 洛谷 P1119
查看>>
compass的使用
查看>>
Codeforces #263 div2 解题报告
查看>>
python 面向对象编程
查看>>
【转】Python3 操作符重载方法
查看>>
linux 服务器名 访问 shh免密码登录
查看>>
java装箱拆箱
查看>>
C#综合揭秘——通过修改注册表建立Windows自定义协议
查看>>