【包装类】Integer类

包装类——Integer类

将int这样的基础数据类型转换为对象,所有的基础是数据类型都有一个与之对应的类,称为包装类。

  • 八大基本数据类对应的包装类名
基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

在这里说int对应的包装类Integer类。在Java中,可能会使用到int类型的数据,但可能会有所要求,比如只能使用引用数据类型,但是由于int类型是基本数据类型,无法直接使用,所以需要包装它的类Integer,其他基本数据类型的包装类也是这样。

  • Integer类中有两个构造方法,虽然已经过时但是可以使用

    public Integer(int value):根据int值创建Integer对象

    public Integer(String s):根据String值创建Integer对象

    package com.common.integer;
    public class IntegerDemo02 {
        public static void main(String[] args) {
            Integer i1 = new Integer(100);
            System.out.println(i1);
            Integer i2 = new Integer("100");
            //Integer i2 = new Integer("abc");NumberFormatException必须是数字字符串
            System.out.println(i2);
        }
    }
    

    注意:在根据String值创建Integer对象时,String值必须是数字字符串,如果不是数字字符串就会报出异常NumberFormatException

  • 使用静态方法获取对象

    public static Integer valueOf(int value):返回表示指定的int值的Integer实例

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

    package com.common.integer;
    public class IntegerDemo03 {
        public static void main(String[] args) {
            Integer i1 = Integer.valueOf(100);
            System.out.println(i1);
            Integer i2 = Integer.valueOf("100");
            //Integer i2 = Integer.valueOf("abc");
            System.out.println(i2);
        }
    }
    
  • Integer类中还包含了很多方法,用来处理int类型的数据,例如:int和String之间的相互转换

    public static String valueOf(int i):它是String类中的方法,将int类型转换为String类型

    public static int parseInt(String s):它是Integer类中的静态方法可以直接用类名.方法名调用,将String类型转换位int类型

    public int intValue():它是Integer类中的方法,返回Integer的值为int,因为它不是静态方法不能直接用类名.方法名来调用

    int->String:

    package com.common.integer;
    public class IntegerDemo04 {
        public static void main(String[] args) {
            int number=100;
            //方式1:
            String s1=""+number;
            System.out.println(s1);//字符串类型的100
            //方式2:
            //public static String valueOf(int i)
            String s2=String.valueOf(number);
            System.out.println(s2);
        }
    }
    

    String->int:有两种方法,一种是先将String类型转换为Integer,使用上面的静态方法获取对象,再将Integer转换为int;另外一种是直接使用Integer类中的方法,将String类型转换为int类型

    package com.common.integer;
    public class IntegerDemo04 {
        public static void main(String[] args) {
            String s="100";
            /*
            方式1:
            String->Integer->int
            String->Integer
            Integer->int
             */
            Integer i=Integer.valueOf(s);//String->Integer
            //public int intValue()
            int x=i.intValue();
            System.out.println(x);//输出100为int类型
            /*
            方式2:
            public static int parseInt(String s)
             */
            int y=Integer.parseInt(s);
            System.out.println(y);
        }
    }
    
  • 案列:字符串中的数据排序

    有一个字符串:“91 27 46 38 50”,请写出程序实现最终输出结果是:“27 38 46 50 91”

    思路:

    1.定义一个字符串

    2.把字符串中的数据存储到一个int类型的数组中

    • 得到字符串中的每一个数字数据

    public String[] split(String regex)

    • 定义一个int数组,把String[]数组中的每一个元素存储到int数组中

    public static int parseInt(String s)

    3.对int数组进行排序

    4.把排序后的int数组中的元素进行拼接得到一个字符串,拼接采用StringBuilder来实现

    5.输出结果

package com.common.integer;
import java.util.Arrays;
public class IntegerDemo05 {
    public static void main(String[] args) {
        String s="91 27 46 38 50";
        String[] strArray = s.split(" ");
        int[] arr=new int[strArray.length];
        for (int i = 0; i < arr.length; i++) {
            arr[i]=Integer.parseInt(strArray[i]);//把字符串数据转为int数据
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);//得到int类型的元素
        }
        //对int数组进行排序
        Arrays.sort(arr);
        //创建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:"+result);
    }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值