惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
腾讯CDC
D
Docker
G
Google Developers Blog
D
DataBreaches.Net
雷峰网
雷峰网
Blog — PlanetScale
Blog — PlanetScale
S
SegmentFault 最新的问题
The Cloudflare Blog
有赞技术团队
有赞技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog
大猫的无限游戏
大猫的无限游戏
量子位
美团技术团队
aimingoo的专栏
aimingoo的专栏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Engineering at Meta
Engineering at Meta
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 火之光

Class.forName的作用以及为什么要用它【转】 - 火之光 - 博客园 使用IE8強行兼容IE7的方法 - 火之光 - 博客园 一个既然简单又复杂的spring结合hibernate错误 Hibernate包作用详解【转】 spring2.0包说明【转】 grid.getSelectionModel的所有操作【转】 EXTJS2.0GRID使用小结【转】 J2EE面试题集锦【转】 HTTP协议浅析【转】 JAVA的网络编程【转】 JAVA多线程的问题以及处理【转】 JAVA的多线程【转】 java装饰流的使用【转】 JAVA读取控制台的输入【转】 JAVA的文件操作【转】 JAVA的IO处理【转】 java的集合类【转】 JAVA的Random类[转] JAVA的Date类与Calendar类【转】
JAVA的包装类 【转】
火之光 · 2009-12-03 · via 博客园 - 火之光

     Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类。

         包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示:

包装类对应表

基本数据类型

包装类

byte

Byte

boolean

Boolean

short

Short

char

Character

int

Integer

long

Long

float

Float

double

Double

         在这八个类名中,除了IntegerCharacter类以后,其它六个类的类名和基本数据类型一直,只是类名的第一个字母大写即可。

         对于包装类说,这些类的用途主要包含两种:

                   a、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。

                   b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。

         由于八个包装类的使用比较类似,下面以最常用的Integer类为例子介绍包装类的实际使用。

         1、实现intInteger类之间的转换

在实际转换时,使用Integer类的构造方法和Integer类内部的intValue方法实现这些类型之间的相互转换,实现的代码如下:

                   int n = 10;

                   Integer in = new Integer(100);

                   //int类型转换为Integer类型

                   Integer in1 = new Integer(n);

                   //Integer类型的对象转换为int类型

                   int m = in.intValue();

         2Integer类内部的常用方法

                  Integer类内部包含了一些和int操作有关的方法,下面介绍一些比较常用的方法:

                   aparseInt方法

                            public static int parseInt(String s)

该方法的作用是将数字字符串转换为int数值。在以后的界面编程中,将字符串转换为对应的int数字是一种比较常见的操作。使用示例如下:

                                     String s = “123”;

                                     int n = Integer.parseInt(s);

int变量n的值是123,该方法实际上实现了字符串和int之间的转换,如果字符串都包含的不是都是数字字符,则程序执行将出现异常。(说明:异常的概念将在下一章进行讲述)

另外一个parseInt方法:

         public static int parseInt(String s, int radix)

则实现将字符串按照参数radix指定的进制转换为int,使用示例如下:

         //将字符串”120”按照十进制转换为int,则结果为120

         int n = Integer.parseInt(“120”,10);

         //将字符串”12”按照十六进制转换为int,则结果为18

         int n = Integer.parseInt(“12”,16);

         //将字符串”ff”按照十六进制转换为int,则结果为255

         int n = Integer.parseInt(“ff”,16);

这样可以实现更灵活的转换。

                   btoString方法

                            public static String toString(int i)

                            该方法的作用是将int类型转换为对应的String类型。

                            使用示例代码如下:

                                     int m = 1000;

                                     String s = Integer.toString(m);

                            则字符串s的值是”1000”

                            另外一个toString方法则实现将int值转换为特定进制的字符串:

                                     public static int parseInt(String s, int radix)

                            使用示例代码如下:

                                     int m = 20;

                                     String s = Integer.toString(m);

                            则字符串s的值是”14”

         其实,JDK自从1.5(5.0)版本以后,就引入了自动拆装箱的语法,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,这将大大方便程序员的代码书写。使用示例代码如下:

                   //int类型会自动转换为Integer类型

                   int m = 12;

                   Integer in = m;

                   //Integer类型会自动转换为int类型

                   int n = in;

         所以在实际使用时的类型转换将变得很简单,系统将自动实现对应的转换。