Java包装类原理与用法实例分析
本文实例讲述了Java包装类原理与用法。分享给大家供大家参考,具体如下:
产生:
为了提高数据类型的的面向对象性,所以产生了包装类,包装类中有各种便利的方法
数据类型对应的包装类
使用:
包装类可以实现将基本类型转换成字符串(或者字符串转换成基本类型):
1.包装类中方法parseXXX
2.构造器
3.对于String,使用String中的valueof能将基本数据类型转换成字符串
包装类的实例可以与基本数据类型比较:
直接把实例中包装的数值拿出来比较
当如果是包装类实例的比较的话,比较的是所指向的对象:
使用注意:
使用自动装箱赋值时会出现下列情况:
原因是Integer的源码设计对于-128到127的数值进行了静态处理,所以对于-128到127的Integer都是指向同一个数组中的元素,而对于不是这个范围的就新创建Integer实例。这是java中一种缓存的使用。
版本区别:
JDK版本中的区别:
在1.5以前,把基本数据类型转换成对应的包装类需要通过相应的构造器来实现,八种类型中除了Character之外都可以传入一个字符串参数来构造对象。
在JDK1.5之后,提供了自动装箱和自动拆箱功能,自动装箱就是可以直接把一个基本类型赋给相应的包装类
自动拆箱就是可以直接把一个包装类赋给相应的基本类型,如果是Object则需要转型(装箱--向上,拆箱--向下)
jdk1.7增强了包装类的功能,为所有的包装类提供了一个静态的compare方法,可以使用compare方法来比较两个基本类型值的大小
另外jdk1.8也增加了很多实用的方法,如需详情了解请查询API文档。
更多关于java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
相关推荐
-
java中Integer包装类装箱的一个细节详解
前言 java有八个基本数据类型,每个都有对应的一个包装类,比如int对应的Integer. Integer 是int的包装类型,数据类型是类,初值为null,从jdk1.5开始,java引入了自动拆装箱,可以直接进行形如Integer i = 20形式的赋值,编译器会自动将其转换为Integer i = Integer.valueOf(20)进行装箱,拆箱则是将int j = i的形式转换成了int j = i.intValue() . 装箱有个细节,如果不注意很容易出错,来看一下: Inte
-
Java基本类型包装类概述与Integer类、Character类用法分析
本文实例讲述了Java基本类型包装类概述与Integer类.Character类用法.分享给大家供大家参考,具体如下: 基本类型包装类概述 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据. 常用的操作之一:用于基本数据类型与字符串之间的转换. 基本类型和包装类的对应 Byte,Short,Integer,Long,Float,Double,Character,Boolean Integer类 为了让基本类型的数据进行更多的操作,Java就为每种基本类型提供了对应的包装
-
Java包装类的缓存机制原理实例详解
这篇文章主要介绍了Java包装类的缓存机制原理实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 java 包装类的缓存机制,是在Java 5中引入的一个有助于节省内存.提高性能的功能,只有在自动装箱时有效 Integer包装类 举个栗子: Integer a = 127; Integer b = 127; System.out.println(a == b); 这段代码输出的结果为true 使用自动装箱将基本类型转为封装类对象这个过程其实
-
Java基本数据类型与对应的包装类(动力节点java学院整理)
Java是面向对象的编程语言,包装类的出现更好的体现这一思想. 其次,包装类作为类是有属性有方法的,功能比基本数据类型要强大. Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. 1.整数:包括int,short,byte,long ,初始值为0 2.浮点型:float,double ,初始值为0.0 3.字符:char ,初始值为空格,即'' ",如果输出,在Console上是看不到效果的. 4.布尔:boolean ,初始值为false 注
-
Java基础教程之基本类型数据类型、包装类及自动拆装箱
前言 我们知道基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, Long, Float, Double, Character, Boolean.关于基本数据类型的介绍可参考Java基础(一) 八大基本数据类型 那么为什么需要包装类? JAVA是面向对象的语言,很多类和方法中的参数都需使用对象,但基本数据类型却不是面向对象的,这就造成了很多不便. 如:List<in
-
解决Java包装类比较时遇到的问题
前言 本文主要给大家介绍了关于Java包装类在比较时遇到的一些问题的解决方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 例1: Integer a = 1; Integer b = 2; Integer c = 3; Integer d = 3; Integer e= 321; Integer f= 321; Long g = 3L; System.out.println(c == d); //1 System.out.println(e == f); //2 Syste
-
Java基础巩固系列包装类代码实例
示意图: 代码: //包装类 8种基本数据类型对应着一个类,此类即为包装类 public class TestWrapper { //基本数据类型.包装类与String类之间的转换 @Test public void test2() { //基本数据类型.包装类 -----> String类:调用String类的静态的重载的valueOf(Xxx x)方法 int i1 = 10; String str1 = i1 + ""; //"10" String st
-
JAVA包装类及自动封包解包实例代码
复制代码 代码如下: public class Wrapper { public static void main(String[] args) { int i = 500; Integer t = new Integer(i); int j = t.intValue(); String s = t.toString(); System.out.println(t); Integer t1 =
-
Java基本类型与包装类详细解析
Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. 1.整数:包括int,short,byte,long ,初始值为0 2.浮点型:float,double ,初始值为0.0 3.字符:char ,初始值为空格,即'' ",如果输出,在Console上是看不到效果的. 4.布尔:boolean ,初始值为false 基本型别 大小 最小值 最大值 boolean ----- ----- ------ char 16-bit Unicode 0
-
详解Java包装类及自动装箱拆箱
Java包装类 基本类型 大小 包装器类型 boolean / Boolean char 16bit Boolean byte 8bit Byte short /16bit Short int 32bit Integer long 64bit Long float 32bit Float double 64bit Double void / Void Java 的包装类有两个主要的目的: Java包装类将基本数据类型的值"包装"到对象中,对基本数据类型的操作变为了对对象进行操作,从而使
-
Java中包装类介绍与其注意事项
前言 大家都知道在Java中,除了8种基本数据类型外,其他的都是引用类型.使用引用类型是为了更好地贯彻面向对象的思想,那为什么还要保留8种基本数据类型呢? 这其实更多地是照顾程序员的习惯.为了既照顾程序员的习惯,同时又能全面贯彻面向对象编程的思想,Java中引入了包装类机制. 所谓的包装类就是为8种基本数据类型分别定义了相应的引用类型,其对应关系如下: 显然,除了int及char外,其余的包装类都是将对应的基本数据类型的首字母大写即可. 那为什么要引入包装类呢?前面已经说过,是为了全面贯彻面向对
随机推荐
- webpack独立打包和缓存处理详解
- js 获取(接收)地址栏参数值的方法
- 一些技巧性实用js代码小结
- python实现进程间通信简单实例
- Python的设计模式编程入门指南
- vue组件中点击按钮后修改输入框的状态实例代码
- node.js中的fs.existsSync方法使用说明
- JavaScript 反科里化 this [译]
- 使用JAVA判断凸多边形的示例代码
- javascript中alert()与console.log()的区别
- IE 性能分析工具(asp.net环境)
- Android TextView高级显示技巧实例小结
- Java 十进制转二、八、十六进制的字符串
- 关于vector迭代器失效的几种情况总结
- JSON解析和XML解析区别对比
- android之App Widget开发实例代码解析
- 浅谈 IPv6 基本技术原理和特点
- 详解MyBatis逆向工程
- Android编程实现滑动开关组件功能【附源码下载】
- 详解微信小程序用定时器实现倒计时效果