• 52389

    文章

  • 521

    评论

  • 43

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

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

695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

欢迎来到梁钟霖个人博客网站。本个人博客网站提供最新的站长新闻,各种互联网资讯。 还提供个人博客模板,最新最全的java教程,java面试题。在此我将尽我最大所能将此个人博客网站做的最好! 谢谢大家,愿大家一起进步!

第三阶段 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技术的公众号:理想二旬不止

img


 转载至链接:https://my.oschina.net/u/4138117/blog/3061301。


转载原创文章请注明出处,转载至: 梁钟霖个人博客www.liangzl.com

您觉喜欢本网站,或者觉得本文章对您有帮助,那么可以选择打赏。
打赏多少,您高兴就行,谢谢您对梁钟霖这小子的支持! ~(@^_^@)~

  • 微信扫一扫

  • 支付宝扫一扫

    支付宝打赏

0条评论

Loading...


发表评论

电子邮件地址不会被公开。 必填项已用*标注

自定义皮肤
注册梁钟霖个人博客