java—包装类

java—包装类

一,什么是包装类

Java中的基本数据类型没有方法和属性,而包装类就是为了让这些拥有方法和属性,实现对象化交互。

两者之间的代码转化如下图所示,一般就是基本类型首字母的大写,而short和char,对应的则是Integer与Character

 

java---包装类

 数值型包装类都继承至Number,而字符型和布尔型继承至Object。

二.基本数据和包装类之间的转换 

主要有两种:

装箱:基本数据类型转换为包装类;

拆箱:包装类转换为基本数据类型。

public class WrapperTestOne {
    public static void main(String[] args){
        //1.自动装箱
        int t1=1;
        Integer t2=t1;
        //2.手动装箱
        Integer t3=new Integer(t1);
        System.out.println("int类型t1="+t1);
        System.out.println("自动装箱,Integer类型对象t2="+t2);
        System.out.println("手动装箱,Integer类型t3="+t3);
        
        
        //1.自动拆箱
        int t4=t2;
        //2.手动拆箱
            //通过intValue()方法返回int值,还可以利用其他方法装换为其他类型
        int t5=t2.intValue();
        System.out.println("自动拆箱,int型t4="+t4);
        System.out.println("手动拆箱,int型t5="+t5);
    }

}

三.基本数据类型和包装类的转换

 通过包装类Integer.toString()将整型转换为字符串;

  通过Integer.parseInt()将字符串转换为int类型;

  通过valueOf()方法把字符串转换为包装类然后通过自动拆箱。

public class WrapperTestTwo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //基本数据类型转换为字符串
        int t1=12;
        String t2=Integer.toString(t1);
        System.out.println("int转换为String:"+t2);
        //字符串转换为基本数据类型
        //通过paerInt方法
        int t3=Integer.parseInt(t2);
        //通过valeOf,先把字符串转换为包装类然后通过自动拆箱
        int t4=Integer.valueOf(t2);
        System.out.println("t3:"+t3);
        System.out.println("t4:"+t4);

    }

}

总结一下过程如下:

java---包装类

 

 

class WrapperDemo{
	public static void main(String[] args){
		/*
			基本数据类型-->字符串
						1.基本数据类型 + ""
						2.用String类中的静态方法 valueOf(基本数据类型)
		
			字符串-->基本数据类型
						1.使用包装类中的静态方法     
							int parseInt("123")
							long parseLong("123")
							boolean parseBoolean("false")
							只有Character没有对应的parse方法
						2.如果字符串被Integer封装成一个对象
							可以调用intValue()
		*/
		
		//int i = 3;
		//String x = i + "";
		//String x = String.valueOf(i);
		//System.out.println(x);
		
		//String str = "false";
		//int i = Integer.parseInt(str);
		//System.out.println(i);
		Integer i = new Integer("123");
		int x = i.intValue();
	}
}

再来一个例子:

class WrapperDemo2{
	public static void main(String[] args){
		/*
			基本数据类型 -->包装类
						1.通过构造函数来完成
						2.通过自动装箱
						
			包装类-->基本数据类型			
						1.通过intValue()来完成的
						2.通过自动拆箱
		*/
		//int i = 1;
		//Integer x = new Integer(x);
		//Integer y = 3;//自动装箱
		Integer i = new Integer(3);
		//int x = i.intValue();
		int x = i;//自动拆箱
		System.out.println(x);
	}
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114819.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • nginx 配置ssl

    nginx 配置sslnginx配置ssl

    2022年7月14日
    20
  • Vue安装及环境配置、开发工具

    Vue安装及环境配置、开发工具vue安装环境搭建提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录vue安装环境搭建前言一、node.js安装和配置1.下载安装node.js2.配置默认安装目录和缓存日志目录3.node.js环境配置4.配置淘宝镜像源二、使用步骤1.引入库2.读入数据总结前言vue前端框架的环境搭建一、node.js安装和配置1.下载安装node.js官网下载最新版本:https://nodejs.org/en/download/可以下载安装包(安装教程见:http

    2022年6月11日
    53
  • MySQL最全整理!西安java培训机构排名榜

    MySQL最全整理!西安java培训机构排名榜MySQL为何不选择平衡二叉树既然平衡二叉树解决了普通二叉树的问题,那么mysql为何不选择平衡二叉树作为索引呢?索引需要存储什么让我们想一想,如果我们要把索引存起来,那么应该存哪些信息呢,它应该存储三块信息:索引的值:就是表里面索引列对应的值。数据的磁盘地址(通过磁盘地址找到当前数据)或者直接存储整条数据。子节点的引用:我们需要从根节点往下走,所以需要知道左右子节点的地址。根据这三点,可以有如下大致的一个简单的结构图:上图中数字表示的是索引的值,0x开头的表示磁盘地址,根

    2022年9月25日
    0
  • 一个简单需求:HashMap实现相同key存入数据后不被覆盖

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!看似是一个简单的问题,其实里面包含很多的东西!需求:实现一个在HashMap中存入(任意类型)相同的key值后,key中的value不会被覆盖,而是能够进行叠加!拿到一个需求的时候,我们要先进行分析,看此需求能否实现,基于已有的知识(经验),然后在通过目前的一些技术看此需求如何实现。要实现在HashMap中插…

    2022年2月28日
    55
  • chmod命令详细用法

    chmod命令详细用法指令名称:chmod使用权限:所有使用者使用方式:chmod[-cfvR][–help][–version]modefile…说明:Linux/Unix的档案调用权限分为三级:档案拥有者、群组、其他。利用chmod可以藉以控制档案如何被他人所调用。参数:mode:权限设定字串,格式如下:[ugoa…][[±=][rwxX]…][,…],其中…

    2022年6月24日
    28
  • LaTeX伪代码写法总结

    LaTeX伪代码写法总结1.伪代码所用包一般会接触到的包有algorithm、algorithmic、algorithmicx、algorithm2e这四种包。algorithm一般用于给伪代码提供一个浮动体环境,防止其换页或其他因素导致的内容中断,从而跨页显示。algorithmic则用于编辑伪代码的内容,一些for、while、if等语句通过该包中的命令进行编写。algorithmicx则可以看作algorithmic的升级版,参考资料…

    2025年6月10日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号