java是一种面向对象语言,java中的类把方法与数据连接在一起,并构成了自包含式的处理单元.但在java中不能定义基本类型(primitive type),为了能将基本类型视为对象来处理,并能连接相关的方法,java为每个基本类型都提供了包装类,这样,我们便可以把这些基本类型转化为对象来处理了.这些包装类有:Boolean,Byte,Short,Character,Integer,Long,Float,Double,Void共9个(注意:Date不是,无其基本类型).

一、 包装类(Wrapper Class)共同的方法

值得说明的是,java是可以直接处理基本类型的,但是在有些情况下我们需要将其作为对象来处理,这时就需要将其转化为包装类了.所有的包装类(Wrapper Class)都有共同的方法,他们是:

(1)带有基本值参数并创建包装类对象的构造函数.如可以利用Integer包装类创建对象,Integer obj=new Integer(145);

(2)带有字符串参数并创建包装类对象的构造函数.如new Integer("-45.36");

(3)可生成对象基本值的typeValue方法,如obj.intValue();

(4)将字符串转换为基本值的 parseType方法,如Integer.parseInt(args[0]);

(5)生成哈稀表代码的hashCode方法,如obj.hasCode();

(6)对同一个类的两个对象进行比较的equals()方法,如obj1.eauqls(obj2);

(7)生成字符串表示法的toString()方法,如obj.toString().

转换关系:

基本类型------>包装器类
Integer obj=new Integer(145);

包装器类------>基本类型
int num=obj.intValue();

字符串------>包装器类
Integer obj=new Integer("-45.36");

包装器类------>字符串包装器类

String str=obj.toString();

字符串------>基本类型
int num=Integer.parseInt("-45.36");

基本类型------>字符串包装器类

String str=String.valueOf(5);

在一定的场合,运用java包装类来解决问题,能大大提高编程效率.

二、JDK1.5的新特性:自动装包/拆包(Autoboxing/unboxing)

  自动装包/拆包大大方便了基本类型数据和它们包装类地使用。

  自动装包:基本类型自动转为包装类.(int >> Integer)

  自动拆包:包装类自动转为基本类型.(Integer >> int)

  在JDK1.5之前,我们总是对集合不能存放基本类型而耿耿于怀,现在自动转换机制
解决了我们的问题。

int a = 3;
Collection c = new ArrayList();
c.add(a);//自动转换成Integer.

Integer b = new Integer(2);
c.add(b + 2);

  这里Integer先自动转换为int进行加法运算,然后int再次转换为Integer.

最新文章

  1. H3 BPM让天下没有难用的流程之产品概述
  2. Thread.join()方法
  3. Node.js的循环与异步问题
  4. 0005 《SQL必知必会》笔记01-SELECT语句
  5. ARM 汇编寻址方式
  6. Struts2 中Parameters是如何获取值的
  7. Android 魅族等SmartBar适配
  8. 分布式系统中一些主要的副本更新策略——Dynamo/Cassandra/Riak同时采取了主从式更新的同步+异步类型,以及任意节点更新的策略。
  9. [LeetCode] Remove Invalid Parentheses
  10. BZOJ4155 : [Ipsc2015]Humble Captains
  11. Android权限安全(7)binder,service,zygote安全相关简介
  12. (转)Dependency Walker使用说明
  13. apache的ab进行页面的压力测试
  14. What qualities characterize a great PhD student
  15. [置顶] github简单使用
  16. Java版本APP接口安全设计
  17. how tomcat works 五 servlet容器 上
  18. 利用request和re抓取猫眼电影排行
  19. Git 最佳实践:分支管理
  20. i2c框架

热门文章

  1. cuDNN升级
  2. 【BZOJ】2021: [Usaco2010 Jan]Cheese Towers(dp)
  3. Multiview
  4. django用户认证系统——注册3
  5. iOS开发之 -- 判断tableview/scrollview的滑动方法,及导航栏渐变的实现代码
  6. cocos2d 粒子效果以及Particle Designer粒子工具的学习
  7. Asynchronous HTTP Requests in Android Using Volley
  8. sql优化(2)
  9. Thrift快速入门
  10. Leetcode-Permuation Sequence