首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java 中为什么设计了包装类

为什么需要包装类 在 Java 中,万物皆对象,所有的操作都要求用对象的形式进行描述。但是 Java 中除了对象(引用类型)还有八大基本类型,它们不是对象。...System.out.println(result); } 当然,我们自己实现的这个包装类非常简单,Java 给我们提供了更完善的内置包装类: 基本类型 对应的包装类(位于 java.lang 包中)...不知道各位发现没,value 被声明为 final 了,也就是说「一旦构造了包装器,就不允许更改包装在其中的值」。 另外,需要注意的是,这种形式的代码是 「JDK 1.5 以前」的!!!...,直接 = 就完事儿;同样的,包装类到基本数据类型的转换,也不需要我们手动调用包装类的 xxxValue 方法了,直接 = 就能完成拆箱。...Object 类可以接收所有数据类型 综上,有了自动拆装箱机制,基本数据类型可以自动的被转为包装类,而 Object 是所有类的父类,也就是说,「Object 可以接收所有的数据类型了」(引用类型、基本类型

1.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java 为什么需要包装类,如何使用包装类?

    但是基本类型如 int 不是引用类型,也不是继承自 Object,所以 Java 需要一个这样的包装类来使其面向对象的完整性。 包装类同时也可以实现可空类型,即一个数值是空的。...Java 集合中也只能放入包装类型,而不支持基本类型。 包装类与自动装箱拆箱 装箱就是 Java 将基本类型转换成对应的包装类型,比如将 int 转换成 Integer 对象。...看一下 equals 方法源码就知道了 public boolean equals(Object obj) { if (obj instanceof Integer) { return value =...总结 包装类是一个对象,基本类型不是。 包装类和基本类型可以互相转换,转换的过程称之为装箱拆箱,可以手动转换,也可自动转换。...包装类比较大小的时候有很多坑,比如: ==比较引用,Integer 类型只有在-128 到 127 的范围内,才会持有同一个引用。

    6.6K50

    为什么catch了异常,但事务还是回滚了?

    为什么没回滚 先来说说,那些写了代码验证"不会回滚"的情况,把这些错误答案的原因先说清楚,然后再细说test4会回滚的情况。...关于事务基础使用的一些常见注意点,之前写过一篇文章,如果觉得这方面知识还不扎实的,建议读一读:《为什么加了@Transactional注解,事务没有回滚?》...(https://blog.didispace.com/transactional-not-rollback/) 为什么写了catch,还会回滚 先来看看执行时候报的异常: javax.validation.ConstraintViolationException...继续按上看的步骤尝试下去,可以来到下图的位置: 可以看到校验异常是从271行出来的,结合278行和280行,是不是清楚这里回滚的原因了呢?...小结 当我把上一篇问题推到很多地方之后,其实还是收到了不少负面的反馈,甚至还有说我误导读者,顺便问候了下我的祖宗。这些我就不跟爱喷的读者互杠了,我是一直都推崇碰到问题,尽量多深挖一些的学习方式。

    1.8K30

    消失的 100 万,炸了!

    假设在执行第三步骤之后,服务器忽然掉电了,就会发生一个蛋疼的事情,我的账户扣了 100 万,但是钱并没有到你的账户上,也就是说这 100 万消失了!...为什么事务要有隔离性,我们就要知道并发事务时会引发什么问题。 并行事务会引发什么问题? MySQL 服务端是允许多个客户端连接的,这意味着 MySQL 会出现同时处理多个事务的情况。...脏读 如果一个事务「读到」了另一个「未提交事务修改过的数据」,就意味着发生了「脏读」现象。 举个栗子。...然后事务 B 再次查询账户余额大于 100 万的记录,此时查询到的记录数量有 6 条,发现和前一次读到的记录数量不一样了,就感觉发生了幻觉一样,这种现象就被称为幻读。 事务的隔离级别有哪些?...「可重复读」隔离级别是启动事务时生成一个 Read View,然后整个事务期间都在用这个 Read View,这样就保证了在事务期间读到的数据都是事务启动前的记录。

    82090

    SpringCloud gateway全局异常处理,以及后台的服务异常response的异常包装

    gateway自己服务的全局异常处理,参考这篇https://segmentfault.com/a/1190000016854364?...]异常请求路径:{},记录异常信息:{}", request.getPath(), ex.getMessage()); //参考AbstractErrorWebExceptionHandler...return JsonExceptionHandler.this.viewResolvers; } } } 那么gateway代理的后台服务,如果出现了异常没有处理...而且我们无法保证网关后面的微服务都能捕获异常并返回统一的格式,所以,就需要在网关处做一层封装。对返回值、尤其是非正常的返回值做一个包装。 这一步的关键点就在于怎么获取服务的返回值。...通过这篇文章获取到返回值后,可以通过判断json字符串是否包含code:xxx的字样,来判断后台的服务是否异常了。然后通过修改返回值,加上我们通用的返回值字段即可。

    7.6K21

    为什么「确定按钮」正在慢慢消失

    倒不是因为不需要确定操作了,而是除了「确定按钮」之外,设计师们发现了更好的方式。能自动「确定」就不需要按钮有一句话说:最好的交互就是没有交互同样,最好的「确定」按钮,其实是没有按钮。...图片不是什么时候都适合写「确定」通常「确定」字面上可以表示:“我知道了/就这样”。如果是提示或者是简单的操作,则比较适合使用「确定」文案。...图片把确定了什么写出来如果是发送、登录、购买、支付……这类目的性很强的操作,与其写「确定」还不如直接把操作目的写出来。不然,如果只写「确定」,让人容易犯迷糊。...但是「完成」的特别之处,是表达了“结束流程”的概念。所以,如果想让用户感觉按下按钮之后不会进行任何其它操作,而仅仅只是结束流程而已,则很时候使用「完成」。...而一旦把操作合并了,肯定要写清楚比较好。否则如果没说明白,既让人难以理解,而且点起来又不放心,导致学习成本大大增加。有一个问题是,如果文字太长了,可以考虑简化按钮文案并在旁边加点提示。

    56530

    面试官:为什么有了基本类型,还需要包装类型呢?

    大家肯定非常熟悉了。 我们知道每个基本类型都对应了一个包装类型,比如说 int 的包装类型为 Integer,double 的包装类型为 Double。 有了基本类型,又弄出个包装类型,这是为什么呢?...基本类型和包装类型 要想知道为什么有了基本类型后,还出现包装类型,就需要先分辨出它们的区别。...别小看这一点区别,它使得包装类型可以应用于 POJO(Plain Ordinary Java Object) 中,而基本类型则不行。 为什么呢?...的异常。...包装类型属于对象类型,我们知道几乎所有对象实例都存在于堆中。 我们知道,在栈中的数据,在弹栈后,数据就没有了。假如没有包装类型,那么想要留存的一些数据可能在弹栈后就没有了。

    59220

    如果,程序猿都集体消失了...

    2XXX年X月X日 当多元宇宙某颗蔚蓝星球的碳基生物们 还在想着用什么借口迟到时 一场灾难正在向他们袭来… 这一天,灭bà不小心打了一下响指, 这颗星球上的程序猿,消失了… 这场灾难首先席卷了全球的IT...为了挽救败局 两大行业决定弱弱联手, 一方面研制出 “育发格子帽”企图重振雄风, 另一方面启动“寻猿计划”, 寻找消失的程序猿。 ?...没有了程序猿的维护,工业器械纷纷停摆。 在经历数百年科技退化的痛苦之后, 人们又慢慢回到了你织布来我耕田的日子, “程序猿”这个词也逐渐遗失在历史长河中... ?...发现了一面散发着光芒的墙壁。 注视着眼前光影交织的画面, 这几位少年的眼睛逐渐被喜悦充满, 仿佛是冥冥中的召唤, 他们不约而同 跟着画像喊出了那句失落已久的口号: ?

    61740

    包装简历怎么了?好吧,没问题

    怎么到了前端新人这里,却成了人人歌颂的成功之道了呢?说实话,这是一种很不好的现象。我开始还击这种不好的声音,结果有的人还开始怼我,倒也不是怼我,是在公然鼓吹和支持简历包装这种行为。...包装和伪造,是两码事。包装是基于事实的美化,而伪造就纯粹是在捏造事实。适度包装可以,伪造就是你的不对了。...为什么现在好多人都想通过包装、伪造简历来获得面试机会?还不是因为有一些人天天在网上、在培训班,一直以正面教材宣传,我是如何通过包装简历,获得面试机会、成功拿到offer、最终获得高薪的。...司马懿这五句话,能听懂两句就够用一生了。...明天就是冬至了,下面这段话,你们可以好好想想: 风来了,猪都会飞。风走了,摔死的都是猪。那一天你就会想到,这一天会来。

    1.2K10

    ThreadPoolExecutor 线程池异常消失之刨根问底

    三、刨根问底 看到上面两种方式提交任务,输出结果的不同,submit方式异常没有了,execute方式抛出了异常,很多人肯定都出现了疑问?...注释:看到这我们就明白了,前面的程序为什么execute方法会抛出异常了吧,行吧,都散了吧。什么,我才刚看爽,你就叫我走?还有submit呢,为啥不抛异常啊,什么情况还没说呢,别想溜。。。...我们发现run 方法中 try catch了异常,并且调用了setException 方法,但是在setException方法中,将异常赋给了outcome,未见其他处理。 ?...结果同execute方法一样出现了异常。...以及前文的程序代码为什么submit提交不抛出异常,而execute提交抛出异常了吧。

    93710

    如何从消失的异常堆栈定位线上问题

    Tech 导读 在系统开发和运维过程中,异常堆栈信息是解决线上问题的关键之一。然而,有时候异常堆栈信息可能会消失,带来严重的麻烦。...本文将介绍消失的异常堆栈的原因,即JIT编译器对异常进行的优化,以及如何快速定位问题。此外,还将讨论异常优化机制Fast Throw的使用条件和性能影响。...阅读本文,您将对异常堆栈消失问题有更深入的了解,并掌握解决问题的方法和技巧。 01 消失的异常堆栈 在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。...由此我的Runner探索之旅开始了! 在618保障大促稳定性过程中,消失的异常堆栈可能会带来严重的麻烦,因为这些堆栈信息是我们解决线上问题的关键之一。如何快速定位问题?...执行次数 开启Fast Throw 关闭Fast Throw 10w 996ms 3525ms 100w 5983ms 28345ms 500w 35678ms —— 言而简之,不能因出现了消失的异常堆栈就尝试关闭

    29020

    Spring 双层事务,抛出的异常消失在隐秘的角落?

    纳闷了一会儿,看到双层事务,就想起了 Spring事务传播机制,前边理解得比较肤浅。Spring 系列面试题和答案我全部整理好了,请关注公众号Java技术栈,回复:面试。...没有特殊的配置,自然是走默认的事务传播机制了,也就是 Propagation.REQUIRED。...7、PROPAGATION_NESTED 开始执行事务前,先保存一个savepoint,当发生异常时,就回滚到savepoint;没有异常时,跟着外部事务一起提交或回滚。...异常直接向上抛,事务就不会继续提交,调用方拿到的就是一手的异常; 2、如果内层不是核心逻辑,记录个日志啥的,可以把内层事务配置为 @Transactional(rollbackFor = Throwable.class...但是有个问题,外层事务失败了,内层事务还是把记录入库了,有可能产生脏数据; 3、如果外层事务失败了,内层事务也不能提交,那就可以使用 @Transactional(rollbackFor = Throwable.class

    62210

    为什么会出现加载异常……

    前端错误日志传送给服务器很简单,在异常发生时直接发请求就可以了,下面我们主要讨论下错误的捕获方案。...一、对于native开发的app Android sdk提供了常用的四大组件,activity、broadcastReciver、contentProvider、service,对于activty来说,...各参数具体代表了,异常信息,异常js位置,行号,列号,错误详细信息 2.try-catch运行时监控 使用try-catch,对于某个方法函数,我们可以这样定义来捕获函数里面运行时的异常,但是try-catch...3.使用BadJs 4.BadJs是web前端异常监控的解决方案,提供了页面脚本错误监控、上报、统计和查看等能力,目前已在Github上开源(https://github.com/betterjs)...它轻量级而且高效——由一系列 C 函数和少量 C++ 类 构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理 和计算机视觉方面的很多通用算法。

    1.9K50

    密码就快要彻底消失了,没有人怀念它

    不然为什么很多人只要没被系统提示密码过于简单,就一定会把自己的生日用作密码。因为其他的,记不住。然后,你陷入“忘记密码 - 重置密码 - 忘记密码”的循环。...这套系统在之后四十多年间一直行之有效,甚至可以说:正是基于这套口令验证系统,互联网才得以有了用户登录的入口,才得以繁荣发展。...当你设置了一个非常复杂的密码,即使黑客用的破译设备是超级计算机,也要花上万亿世纪才能破解。...FIDO,“无密码”的关键 苹果在今年的 WWDC 大会上,介绍了一个无需用户手打繁琐密码的新功能——“通行密钥”(Passkeys)。...FIDO 制定了相关的技术标准,并推广到了各大互联网巨头那里。

    45910
    领券