本文结构

1.Character和char 的区别:

2.自动拆箱装箱

1.Character和char 的区别:

Character是类,char基本数据类型.

在java中有三个类负责对字符的操作:Character、String、StringBuffer。其中Character类是对单个字符进行操作,String是对一个字符序列的操作,StringBuffer是对一串字符进行操作。

char可以自动包装成Character;Character也可以自动拆包成char。

java中默认基本类型的数据是分配在栈上,如果你想把它包装成一个类的对象,让它分配在堆上,就需要用到包装类,Character就是char的包装类。

char可以自动包装成Character;Character也可以自动拆包成char.

2.自动拆箱和装箱

每一种基本数据类型,都对应了一个包装类:

byte——Byte

int——Integer

char——Character

。。。。。

这些包装类final修饰不能被继承。

每一个包装类对象,维护了一个对应的基本数据类型的值,且这个对象的值不会变,永远对应。1——Integer(1)

//装箱
int a=1;
Integer integer=new Integer(a);
//将基本数据类型的值封装到其对应的包装类对象中,叫做装箱。 //拆箱
int i=integer.intValue();//注意integer同上,都为定义的对象名
Sout输出为1
//从包装类对象中,取出其所包装的基本数据类型的值,叫做拆箱。 //自动装箱
int a=1;
Integer integer=a;//居然把一个基本类型值赋值给了引用型变量,好矛盾,实际上jvm自动装箱了。
//Integer integer=new Integer(a);jvm自动补齐了 //自动拆箱
int b=integer;//居然把地址赋值给了基本类型的变量里
//int b=integer.intValue();jvm自动补齐了 Integer integer1=1;
Integer integer2=1;
SOUT(integer1==integer2);//输出的是true
//不对呀两个对象应该是两个地址呀,这是因为对于数据范围-128~127这个范围的包装类对象,做了缓存,
//所以俩是一个对象 //注意:虽然有了自动装箱和自动拆箱,但不是在所有的场景下基本数据类型的值与包装类对象都等价
//第一个场景
int[] a=new int[100];
Integer[] b=a;//报错,不行,站在整个数组的角度来看是错误的 a[0]=new Integer(100);//可以,站在单个数组单元来看是可以的 //第二个场景
//父类方法用int型
//子类方法用Integer报错

Java 从Character和char的区别来学习自动拆箱装箱的更多相关文章

  1. Java中的自动拆箱装箱(Autoboxing&Unboxing)

    一.基本类型打包器 1.基本类型:long.int.double.float.boolean 2.类类型:Long.Integer.Double.Float.Boolean 区别:基本类型效率更高,类 ...

  2. Java 自动拆箱 装箱 包装类的缓存问题--结合源码分析

    都0202 了 java 1.8 已经是主流 自动装箱 .拆箱已经很普遍使用了,那么有时候是不是会遇到坑呢? 我们先来看一段代码: public class TestWraperClass { pub ...

  3. JAVA高级特性--自动拆箱-装箱,枚举类型

    基本数据类型转换为引用类型对象 一个自动装箱的例子 Integer i=10; 相当于 Integer i=new Integer(10); 一个自动拆箱的例子 Integer m=10; int n ...

  4. 关于Java自动拆箱装箱中的缓存问题

    package cn.zhang.test; /** * 测试自动装箱拆箱 * 自动装箱:基本类型自动转为包装类对象 * 自动拆箱:包装类对象自动转化为基本数据类型 * * * /*缓存问题*/ /* ...

  5. 如何理解Java中的自动拆箱和自动装箱?

    小伟刚毕业时面的第一家公司就被面试官给问住了... 如何理解Java中的自动拆箱和自动装箱? 自动拆箱?自动装箱?什么鬼,听都没听过啊,这...这..知识盲区... 回到家后小伟赶紧查资料,我透,这不 ...

  6. JavaSE的包装类,自动装箱和自动拆箱 ,字符窜转换,toString(),equals(), hashCode()的区别

    一.基本数据类型和包装类 包装类均位于Java.lang包,包装类和基本数据类型的对应关系如下表所示: Primitive-Type   Wrapper-Class        byte       ...

  7. java 自动装箱自动拆箱

    1.Java数据类型 在介绍Java的自动装箱和拆箱之前,我们先来了解一下Java的基本数据类型. 在Java中,数据类型可以分为两大种,Primitive Type(基本类型)和Reference ...

  8. 转!!Java学习之自动装箱和自动拆箱源码分析

    自动装箱(boxing)和自动拆箱(unboxing)   首先了解下Java的四类八种基本数据类型   基本类型 占用空间(Byte) 表示范围 包装器类型 boolean 1/8 true|fal ...

  9. 《java入门第一季》之Integer类和自动拆装箱概述

    / * int 仅仅是一个基本类型.int有对应的类类型,那就是Integer.  * 为了对基本数据类型进行更多的操作,更方便的操作,Java就针对每一种基本数据类型提供了对应的类类型--包装类类型 ...

随机推荐

  1. 使用@Cacheable注解时,Redis连不上,直接调用方法内部的解决方案

    最近redis 域名一致解析错误,导致业务多了很多异常.那么如何在这种情况下直接访问数据库,而不是报错呢 1. 解决方案 其实很简单,在配置 redis 时,只需要多一项配置,继承 CachingCo ...

  2. ES标签搜索并解决评分排序问题

    一.概述 需求: 最近在做一个新闻项目,有这样一个需求,如下: 用户根据视频内容手动创建标签,标签个数不限 在视频详情页提供根据标签推荐视频功能,即按本视频的标签进行搜索,标签匹配多的排在前面,匹配少 ...

  3. javaweb登陆实例

    1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncod ...

  4. JavaScript--总结三(数组和函数)

    数组 数组的概念: 将多个元素(通常是同一类型)按照一定顺序排列放到一个集合中,这个集合称之为数组---简(一组有序的数据) 数组的作用:可以一次性存储多个数据 数组的定义: 1.通过构造函数创建数组 ...

  5. 一次 Nginx proxy_set_header 故障问题解析和延升

    目录 一.问题和排查步骤 1.1 问题基本信息 1.2 问题解析 1.3.解决办法 二.扩展-各种情况对比 默认两项 proxy_set_header 其他项等 总结 三.扩展 ->脚本 pro ...

  6. [ABP教程]第三章 创建、更新和删除图书

    Web应用程序开发教程 - 第三章: 创建,更新和删除图书 关于本教程 在本系列教程中, 你将构建一个名为 Acme.BookStore 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以 ...

  7. loj #6179. Pyh 的求和 莫比乌斯反演

    题目描述 传送门 求 \(\sum\limits_{i=1}^n\sum\limits_{j=1}^m \varphi(ij)(mod\ 998244353)\) \(T\) 组询问 \(1 \leq ...

  8. day123:MoFang:直播间列表信息的前后端实现&创建房间的前后端实现

    目录 1.服务端提供所有直播间的列表信息 2.前端显示房间列表 3.创建房间 1.服务端提供所有直播间的列表信息 1.marshmallow.py from marshmallow_sqlalchem ...

  9. Flutter 基础组件:Widget简介

    概念 在Flutter中几乎所有的对象都是一个Widget.与原生开发中"控件"不同的是,Flutter中的Widget的概念更广泛,它不仅可以表示UI元素,也可以表示一些功能性的 ...

  10. 剑指offer 面试题6:从尾到头打印链表

    题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 编程思想 从前往后遍历,将值存入栈中,然后打印栈中内容即可. 编程实现 /** * struct ListNode { * ...