java包装类

Posted 海绵hong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java包装类相关的知识,希望对你有一定的参考价值。

1.概述

将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据

常用操作方法之一:用于基本数据类型与字符串之间的转换

2.Integer

2.1构造方法

2.1.1

public Integer(int number)//根据int值创建Integer对象(过时)

2.1.2

public Integer(String s)//根据String值创建Integer对象(过时)

2.1.3

public static Integer valueOf(int i)//返回表示指定的int类型的Integer实例

2.1.4

public static Integer valueOf(String s)//返回一个保存指定Integer对象String 

2.2 常用方法

2.2.1int和String之间的转换

int-->String :

int num=100;
String s1=""+num;//第一种
String s2=String .valueOf(num);//第二种

String-->int:

String s="100";
Integer i=Integer.valueOf(s);
int x=i.intvalue();//第一种:String-->Integer-->int
int y=Integer.parseInt(s);

学到这里我们来做一道练习题来试试我们的水平:
将字符串中的数字进行排序;

String s="12 45 96 32 448";
package 算法练习;
import java.util.Arrays;

public class practice_01 
    public static void main(String[] args) 
    String s="12 45 96 32 448";
        String[] split = s.split(" ");//split是按照空格去分割字符串(这里是空格可以是其他的符号)
       int[] arr=new int[split.length];
        for (int i=0;i<arr.length;i++)
            arr[i]=Integer.parseInt(split[i]);
        
        Arrays.sort(arr);//对int数组进行排序
        //把排序后的int数组中的元素进行拼接得到一个字符串,这里拼接采用StringBuilder来实现
        StringBuilder sb=new StringBuilder();
        for (int i=0;i<arr.length;i++)
            if(i==arr.length-1)
                sb.append(arr[i]);
            else
                sb.append(arr[i]).append(" ");
        
        String result=sb.toString();
        System.out.println(result);
    

3.1自动装箱和拆箱

装箱:把基本数据类型转换为对应的包装类类型

拆箱:把包装类类型转换为对应的基本数据类型

注意:在使用包装类类型的时候,如果做操作最好先判断是否为null

只要是对象在使用前就必须进行不为null的判断

public class Test 
    public static void main(String[] args) 
        int a = 10;
        Integer a1 = 11;
        Integer a2 = a; // 自动装箱
        System.out.println(a);
        System.out.println(a1);

        Integer it = 100;
        int it1 = it; // 自动拆箱
        System.out.println(it1);

        double db = 99.5;
        Double db2 = db; // 自动装箱了
        double db3 = db2; // 自动拆箱
        System.out.println(db3);

        // int age = null; // 报错了!
        Integer age1 = null;
        Integer age2 = 0;

        System.out.println("-----------------");
        // 1、包装类可以把基本类型的数据转换成字符串形式。(没啥用)
        Integer i3 = 23;
        String rs = i3.toString();
        System.out.println(rs + 1);

        String rs1 = Integer.toString(i3);
        System.out.println(rs1 + 1);

        // 可以直接+字符串得到字符串类型
        String rs2 = i3 + "";
        System.out.println(rs2 + 1);

        System.out.println("-----------------");

        String number = "23";
        //转换成整数
        // int age = Integer.parseInt(number);
        int age = Integer.valueOf(number);
        System.out.println(age + 1);

        String number1 = "99.9";
        //转换成小数
//        double score = Double.parseDouble(number1);
        double score = Double.valueOf(number1);
        System.out.println(score + 0.1);
    

以上是关于java包装类的主要内容,如果未能解决你的问题,请参考以下文章

Java进阶包装类

JAVA包装类介绍(包装类基本类型数据)

Java包装类(二十八)

Java包装类

好程序员Java教程分享Java之包装类与常用类

java包装类