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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 试题库管理系统–数据库设计[通俗易懂]

    试题库管理系统–数据库设计[通俗易懂]一、概要设计1.1背景和意义目前,许多高校绝大多数课程还采用考教统一的模式来完成教学过程,这种传统的考试模式在教学到实施考试的过程带有很大的主观随意性和不规范性。另外随着各高校近年来学生规模的扩大,教学任务日益繁重,教师的工作量相应的不断增加。迫切需要计算机辅助教学系统来打破这种传统的教学模式,减轻教师的工作负担,提高教学质量。因此,本文研究设计了一个试题库管理系统,来解决和缓解高校课程

    2022年6月16日
    32
  • Prometheus➕Grafana监控node节点资源情况

    Prometheus➕Grafana监控node节点资源情况

    2021年6月2日
    119
  • bug生命周期流程_bug六大要素

    bug生命周期流程_bug六大要素你们公司是如何管理bug的?考查点:缺陷的生命周期常见的流程就不多说了,CSDN上有很多,今天说一些不一样的点:正常流程:打开–接受–已解决-关闭其它状态:拒绝、重新打开、遗留1、线上的bug优先级最高,会要求测试leader亲自协助运营、开发人员定位,邮件报告相关领导:bug分析、开发人员如何修改,有哪些影响范围,bug修改进度,开发和测试的改进措施;2、测试环境的典型b…

    2022年10月20日
    5
  • string的length方法(数组length方法)

    C#客户端,调用别家的webservice,返回信息报错,摘取其中重要的如下:Themaximumstringcontentlengthquota(8192)hasbeenexceededwhilereadingXMLdata.ThisquotamaybeincreasedbychangingtheMaxStringContentLengthpro…

    2022年4月10日
    95
  • CRM客户关系管理系统(十二)

    CRM客户关系管理系统(十二)

    2021年5月27日
    104
  • rammap使用_查看内存的命令

    rammap使用_查看内存的命令参考TechnetProcessPrivate:分配给单一Process专用的内存MappedFile:用来储放档案内容快取(Cache)的内存空间SharedMemory:标注给多个Process共用的内存分页(Page,内存管理单位)PageTable:用来描述虚拟内存位址的分页表(裡面是一笔一笔的PTE,PageTableEntries)PagedPool…

    2025年8月10日
    4

发表回复

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

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