当前位置: 首页 > news >正文

赣州做网站jx25色盲色弱测试

赣州做网站jx25,色盲色弱测试,用js做的网站页面,教育集团网站建设Java包装类基本类型大小包装器类型boolean/Booleanchar16bitBooleanbyte8bitByteshort/16bitShortint32bitIntegerlong64bitLongfloat32bitFloatdouble64bitDoublevoid/VoidJava 的包装类有两个主要的目的:Java包装类将基本数据类型的值“包装”到对象中&#xff0c…

Java包装类

基本类型

大小

包装器类型

boolean

/

Boolean

char

16bit

Boolean

byte

8bit

Byte

short

/16bit

Short

int

32bit

Integer

long

64bit

Long

float

32bit

Float

double

64bit

Double

void

/

Void

Java 的包装类有两个主要的目的:

Java包装类将基本数据类型的值“包装”到对象中,对基本数据类型的操作变为了对对象进行操作,从而使基本值能够包含在为对象为保留的操作中。比如向Collections中添加元素(泛型的操作限制加入的只能是对象,比如List = new ArrayList() 的写法是错误的),或者从带对象返回值的方法中返回。

更加方便类型的转换,如常见的Integer向字符的转换

装箱和拆箱

Java 在SE5之后提供了自动的装箱和拆箱机制。基本数据类型可以和与其对应的包装类之间自动进行转换

如:

Integer i = 10;

int index = i;

装箱就是自动将基本数据类型转换为包装器类型

拆箱就是自动将包装器类型装换为基本数据类型

在装箱的时候自动调用的是Integer的valueOf(int)方法。而在拆箱的时候自动调用的是Integer的intValue方法。

其他的也类似,比如Double、Character,不相信的朋友可以自己手动尝试一下。

因此可以用一句话总结装箱和拆箱的实现过程:

装箱过程是通过调用包装器的valueOf方法实现的,而拆箱过程是通过调用包装器的xxxValue方法实现的。(xxx代表对应的基本数据类型)。

面试问题

下面这段代码的输出结果是什么?

public class Main {

public static void main(String[] args) {

Integer i1 = 100;

Integer i2 = 100;

Integer i3 = 200;

Integer i4 = 200;

System.out.println(i1==i2);

System.out.println(i3==i4);

}

}

注意 ==和equals的区别:

|类型| == |equals

|–|--|–|

| 基本数据类型 | 值 | 不可用

| 包装类 | 地址 | 内容

输出的结果为:

true

false

为什么会出现这样的结果?输出结果表明 i1 和 i2 指向的是同一个对象,而 i3 和 i4 指向的是不同的对象。此时只需一看源码便知究竟,下面这段代码是Integer的valueOf方法的具体实现:

public static Integer valueOf(int i) {

if(i >= -128 && i <= IntegerCache.high)

return IntegerCache.cache[i + 128];

else

return new Integer(i);

}

从这2段代码可以看出,在通过valueOf方法创建Integer对象的时候,如果数值在 [-128,127] 之间,便返回指向IntegerCache.cache中已经存在的对象的引用;否则创建一个新的Integer对象。

上面的代码中 i1 和 i2 的数值为100,因此会直接从cache中取已经存在的对象,所以 i1 和 i2 指向的是同一个对象,而 i3 和 i4 则是分别指向不同的对象。

下面这段代码的输出结果是什么?

public class Main {

public static void main(String[] args) {

Double i1 = 100.0;

Double i2 = 100.0;

Double i3 = 200.0;

Double i4 = 200.0;

System.out.println(i1==i2);

System.out.println(i3==i4);

}

}

也许有的朋友会认为跟上面一道题目的输出结果相同,但是事实上却不是。实际输出结果为:

false

false

至于具体为什么,读者可以去查看Double类的valueOf的实现。

在这里只解释一下为什么Double类的valueOf方法会采用与Integer类的valueOf方法不同的实现。很简单:在某个范围内的整型数值的个数是有限的,而浮点数却不是。

注意,Integer、Short、Byte、Character、Long这几个类的valueOf方法的实现是类似的,Double、Float的valueOf方法的实现是类似的

以上所述是小编给大家介绍的Java包装类及自动装箱拆箱详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对聚米学院网站的支持!

http://www.lbrq.cn/news/2516851.html

相关文章:

  • 延吉市住房城乡建设局网站网络服务公司
  • 网站建设及报价方案疫情二十条优化措施
  • 网站seo月报今日热搜榜排名最新
  • 衡阳市做网站百度知道客服电话人工服务
  • 网站多久跨境电商网站开发
  • 北京网站手机站建设公司电话号码开封网络推广哪家好
  • python 做下载网站百度关键词查询工具
  • 网络规划设计师考试内容上海关键词优化报价
  • 青岛网站建设搭建企业网站推广方案设计毕业设计
  • 做网站要注意什么如何优化网站排名
  • portfolio wordpressseo技术培训机构
  • 网站建设常用结构类型教育机构培训
  • 黄石做网站的公司中小企业网络营销现状
  • 中学生做网站友情手机站
  • 如何做双版网站seo关键词排名实用软件
  • 北京电商网站开发费用怎么做免费的网站推广
  • 微信免费做邀请函模版网站怎样制作一个网页
  • 重庆怎么自己做网站看广告收益的正规平台
  • 学网站开发的软件网络营销运营方案
  • 收到网站代码后怎么做重庆森林讲了什么故事
  • 重庆百度网站推广腾讯会议付费
  • 学校网站建设评比专业网站制作网站公司
  • 做网站如何挂支付系统新乡网站seo
  • 长春谁家做网站电商营销的策略与方法
  • 公司简介网站模板怎么创建个人网站
  • wordpress的pdf阅读seo是什么?
  • 在线做章网站搜外友链平台
  • 政府网站 建设依据nba交易最新消息汇总
  • 用jsp做网站登录界面模板潍坊网站关键词推广
  • 怎么找做网站的客户中国的搜索引擎有哪些
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-51,(知识点:stm32,GPIO基础知识)
  • forge篇——配置
  • JavaEE初阶第十二期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(十)
  • n8n “Run Once for All Items“和“Run Once for Each Item“区别
  • sklearn库中有关于数据集的介绍
  • net-snmp添加自定义mib树