资讯专栏INFORMATION COLUMN

基本类型包装类的简单入门

ShevaKuilin / 2221人阅读

摘要:第三阶段常见对象的学习基本类型包装类我们提出一个需求,将的二进制八进制十六进制算出来,对于这种基本类型的一些操作,包装类就可以很好地解决这些问题。

第三阶段 JAVA常见对象的学习 基本类型包装类
我们提出一个需求,将520的二进制、八进制、十六进制算出来,对于这种基本类型的一些操作,包装类就可以很好地解决这些问题。
public class IntegerDemo {
    public static void main(String[] args) {
        int love = 520;
        //转换为二进制
        System.out.println(Integer.toBinaryString(love));
        //转换为八进制
        System.out.println(Integer.toOctalString(love));
        //转换为十六进制
        System.out.println(Integer.toHexString(love));
    }
}
//运行结果
1000001000
1010
208

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

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

例如:常见进制的转换

Public Static String toBinaryString(int i)

为了对基本数据类型进行更多的操作,更方便的操作,Java针对每一种数据类型都提供了对应的类类型,包装类类型。

· byte            Byte
· short            Short
· int             Integer
· long            Long
· float            Float
· double         Double
· char            Character
· boolean        Boolean

下面的内容我们使用常见的Integer类型来讲解

(一) Integet类 Integer类的构造方法
public class IntegerDemo2 {
    public static void main(String[] args) {
        int love = 520;
        Integer love2 = new Integer(love);
        System.out.println(love2);
        
        //由数字组成的字符串也可以被转换为Integer
        String love3 = "520";
        Integer love4 = new Integer(love3);
        System.out.println(love4);
    }
}

通过包装类的一些方法可以很便捷的解决很多实际问题,比如String和int类型的相互转换

(二)String和int的相互转换 (1) int → String
package cn.bwh_02_IntString;

public class IntStringDemo {
    public static void main(String[] args) {
        int number = 520;
        //方式一:拼接字符串
        String s1 = "" + number;
        System.out.println(s1);

        //方式二(推荐方法)任何类型的数据转换成字符串
        String s2 = String.valueOf(number);
        System.out.println(s2);

        //方式三(最麻烦)
        Integer i = new Integer(number);
        String s3 = i.toString(number);
        System.out.println(s3);

        //方式四
        String s4 = Integer.toString(number);
        System.out.println(s4);
        
    }
}
(2) String → int (数字组成的字符串)
package cn.bwh_02_IntString;

public class StringIntDemo {
    public static void main(String[] args) throws Exception{
        String s = "520";
        //方式一
        Integer i = new Integer(s);
        int x = i.intValue();
        System.out.println(x);

        //方式二(推荐方法)
        int y  = Integer.parseInt(s);
        System.out.println(y);
    }
}
(三) 两个JDK 5 的新特性 (1) 自动装箱和自动拆箱(JDK 5新特性)
在我想要使用包装类的一些方法的时候,我可以通过基本类型包装类的构造方法将值传入,JDK5后的新特性就为我们大大的简化了一些麻烦的步骤
Integer a = 1;
//这就是一个自动装箱,如果没有自动装箱的话,需要这样
Integer a = new Integer(1)

int b = a;
//这就是一个自动拆箱,如果没有自动拆箱的话,需要这样:
int b = a.intValue()

这样就能看出自动装箱和自动拆箱是简化了基本数据类型和相对应对象的转化步骤
(2) 缓存池(JDK 5新特性)

谈到数值顺便提一提缓存池问题

在于在Java 5以后,整型对象在内部实现中通过使用相同的对象引用实 现了缓存和重用。Integer类型对于-128-127之间的数字是在缓冲区取的,所以对于在这个范围内的数值用双等号比较是一致的,因为对应的内存地址是相同的。但对于不在这区间的数字是在堆中new出来的,所以地址空间不一样,也就不相等。

(四) Character类

Character类对象中包装一个基本类别char的值
此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。

//判断给定的字符是否是大写字符
public static boolean isUpperCase(char ch)

//判断给定的字符是否是小写字符
public static boolean isLowerCase(char ch)

//判断给定的字符是否是数字字符
public static boolean isDigit(char ch)

//把给定的字符串转换为大写字符
public static boolean toUpperCase(char ch)

//把给定的字符串转换为小写字符
public static boolean toLowerCase(char ch)
结尾:

如果内容中有什么不足,或者错误的地方,欢迎大家给我留言提出意见, 蟹蟹大家 !^_^

如果能帮到你的话,那就来关注我吧!(系列文章均会在公众号第一时间更新)

在这里的我们素不相识,却都在为了自己的梦而努力 ❤

一个坚持推送原创Java技术的公众号:理想二旬不止

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/74957.html

相关文章

  • 慕课网_《SpringMVC数据绑定入门》学习总结

    摘要:数据绑定入门学习总结时间年月日星期日说明本文部分内容均来自慕课网。慕课网教学示例源码个人学习源码第一章课程介绍数据绑定入门概述数据绑定概念来自百度百科简单绑定是将一个用户界面元素控件的属性绑定到一个类型对象实例上的某个属性的方法。 《SpringMVC数据绑定入门》学习总结 时间:2017年2月19日星期日说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.co...

    Karrdy 评论0 收藏0
  • java面向对象(中)

    摘要:使用创建的字符串对象是运行时创建出来的,它被保存在运行时内存区,即堆内存,不会放入常量池中。类成员创建的对象实例中根本不会拥有对应类的类变量。抽象类的构造器不能用于创建实例,主要是用于被其子类调用。 Java提供了final关键字来修饰变量,方法和类,系统不允许为final变量重新赋值,子类不允许覆盖父类的final方法,final类不能派生子类。 Abstract 和 inte...

    孙吉亮 评论0 收藏0
  • java学习(四) —— 内存分配浅析

    摘要:内存分配解析四方法执行完毕,立即释放局部变量所占用的栈空间。内存分配解析五调用对象的方法,以实例为参数。堆和栈的小结以上就是程序运行时内存分配的大致情况。 前言 java中有很多类型的变量、静态变量、全局变量及对象等,这些变量在java运行的时候到底是如何分配内存的呢?接下来有必要对此进行一些探究。 基本知识概念: (1)寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序...

    henry14 评论0 收藏0
  • 深入浅出 Java 中的包装

    摘要:前阵子,我们分享了中的基本数据类型转换这篇文章,对许多粉丝还是有带来帮助的,今天讲一下包装类的的由来,及自动装箱拆箱的概念和原理。下面是基本数据类型与对应的包装类型。 showImg(https://segmentfault.com/img/remote/1460000016537706); 前阵子,我们分享了《Java中的基本数据类型转换》这篇文章,对许多粉丝还是有带来帮助的,今天讲...

    ytwman 评论0 收藏0

发表评论

0条评论

ShevaKuilin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<