JAVA的包装类 【转】

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

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

包装类对应表


基本数据类型


包装类


byte


Byte


boolean


Boolean


short


Short


char


Character


int


Integer


long


Long


float


Float


double


Double

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

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

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

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

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

1、实现int和Integer类之间的转换

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

int n = 10;

Integer in = new Integer(100);

//将int类型转换为Integer类型

Integer in1 = new Integer(n);

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

int m = in.intValue();

2、Integer类内部的常用方法

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

a、parseInt方法

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);

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

b、toString方法

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;

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

时间: 2024-11-03 22:22:13

JAVA的包装类 【转】的相关文章

java的包装类

java的包装类   Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类. 包装类均位于Java.lang包,包装类和基本数据类型的对应关系如下表所示: 包装类对应表 基本数据类型 包装类 byte Byte boolean Boolean short Sh

java的包装类(转)

Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类. 包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示: 包装类对应表 基本数据类型 包装类 byte Byte boolean Boolean short Short char Ch

2017.4.14 JAVA的包装类 【转】

Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类. 包装类均位于Java.lang包,包装类和基本数据类型的对应关系如下表所示: 包装类对应表 基本数据类型 包装类 byte Byte boolean Boolean short Short char Ch

Java API ——包装类

1.包装类的概述 · 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据. · 常用的操作之一:用于基本数据类型与字符串之间的转换. · 基本类型和包装类的对应 为了对基本数据类型进行更多的操作,更方便的操作,Java就针对每一种基本数据类型提供了对应的类类型.包装类类型. byte     Byte short Short int Integer long Long float Float double Double char Character boolean Boo

Java api 入门教程 之 JAVA的包装类

Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类. 包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示: 包装类对应表 基本数据类型 包装类 byte Byte boolean Boolean short Short char Ch

Java中包装类型和基本类型的使用场景(什么时候使用包装类型)(转)

说明:最简单的理解,基本类型有默认值,而包装类型初始为null.然后再根据这两个特性进行分业务使用,在阿里巴巴的规范里所有的POJO类必须使用包装类型,而在本地变量推荐使用基本类型. Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. 1.整数:包括int.short.byte.long初始值为0. 2.浮点型:float.double初始值为0.0 3.字符:char初始值为空格,即'' ",如果输出,在Console上是看不到效果的. 4.

java Integer包装类装箱的一个细节

java有八个基本数据类型,每个都有对应的一个包装类,比如int对应的Integer.从jdk1.5开始,java引入了自动拆装箱,可以直接进行形如Integer i = 20形式的赋值,编译器会自动将其转换为Integer i = Integer.valueOf(20)进行装箱,拆箱则是将int j = i的形式转换成了int j = i.intValue(). 装箱有个细节,如果不注意很容易出错,来看一下: Integer i = 20; Integer j = Integer.valueO

java之包装类

1.包装类引入 package cn; /**  * 计算100这个数据的二进制,八进制和十六进制  * 判断一个数据是否在int范围内   *  */ public class IntegerDemo { public static void main(String[] args) { System.out.println("100的二进制是:"+Integer.toBinaryString(100));//1100100 System.out.println("100的八

Java 中包装类wrapped type之间以及和primitive type的比较

注意, 包装类的实例之间比较, 是不能直接用 == 的 public static void main(String[] args) { // TODO Auto-generated method stub Integer a = new Integer(1); Integer b = new Integer(1); int c=1; Integer e = 1; System.out.println("a==b:"+(a==b)); System.out.println("