zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【JAVA】包装类

JAVA 包装
2023-09-11 14:20:37 时间

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

Integer类常用的方法

/**
*Integer转换成int
*/
		int k = i.intValue();  //Integer转换成int
		Integer kk = Integer.valueOf(k);  //int转换成Integer
		System.out.println(k);
		System.out.println(kk);
/**
*字符串转换成int类型
*/
	k = Integer.parseInt("13"); //字符串转换成int类型
		System.out.println(k);
/**
*radix进制的字符串转换
*/
k = Integer.parseInt("110", 2); //radix进制的字符串转换成int
		System.out.println(k);

Integer类内部的常用方法

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)版本以后,就引入了自动拆装箱的语法,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,这将大大方便程序员的代码书写。

例如:

import java.util.Scanner;

public class 包装类 {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        //20 30
        String str = s.nextLine();
        //将字符串达打散
        String[] nums = str.split(" ");
        //双引号里是写分隔符的

        //将字符串转换成整型,但缺点是只能干一件事。
        //所以这里就引出了包装类。
        //可以在包装类里面写各种方法。实现多种功能。
        //而包装类里面用的最多的是静态方法。

        //int a = 20;
        //转换之后的值保存起来,保存成int型。
        int a = Integer.parseInt(nums[0]) + Integer.parseInt(nums[1]);
        System.out.println(a);

        //输出最大值常量
        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);

        //装箱、拆箱
        //int aa=23;

        Integer aaa = 23;

        //Integer aaa=new Integer(23);
        //int bb=223;

        Integer bbb = 23;

        //aa=aa+bb;
        //Integer bbb=new Integer(223);

        int cc = aaa.intValue() + bbb.intValue();
        //在jdk 5之前,调用对象将整数值提取出来。
        //而现在,aaa和bbb是该对象的引用,保存的是地址。
        //通过intValue()方法提取出来。
        cc = aaa + bbb;
        System.out.println(cc);

        //两个对象本来是不能加起来的,
        //但是通过二者的toString方法进行相加。
        //虚拟机帮我们new了一个对象,
        //然后将地址保存起来,所以aaa和bbb保存的是地址。
        //当我们需要用的时候,我们将其调用出来,
        //即相加的是整数值,这就是装箱和拆箱。

    }
}