文档章节

Java面试

Galy_绿
 Galy_绿
发布于 2016/07/15 01:31
字数 570
阅读 222
收藏 7

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

最近要开始开始找工作了,所有还是认真复习下Java基础。让自己更有把握

1.short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?
答:对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型。而short s1 = 1; s1 += 1;可以正确编译,因为s1+= 1;相当于s1 = (short)(s1 + 1);其中有隐含的强制类型转换。

2.int和Integer有什么区别?


答:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换。
  

Java 为每个原始类型提供了包装类型,原始类型有boolean、char、byte、short、int、long、float、double,他们对应的包装类是Boolean、Character、Byte、Short、Integer、Long、Float、Double。


最近还遇到一个面试题,也是和自动装箱和拆箱有点关系的,代码如下所示:
如果不明就里很容易认为两个输出要么都是true要么都是false。首先需要注意的是f1、f2、f3、f4四个变量都是Integer对象引用,所以下面的==运算比较的不是值而是引用。装箱的本质是什么呢?当我们给一个Integer对象赋一个int值的时候,会调用Integer类的静态方法valueOf,如果看看valueOf的源代码就知道发生了什么。
 IntegerCache是Integer的内部类,其代码如下所示:

  简单的说,如果整型字面量的值在-128到127之间,那么不会new新的Integer对象,而是直接引用常量池中的Integer对象,所以上面的面试题中f1==f2的结果是true,而f3==f4的结果是false。

//从上大学就开始一直说装箱,但是知道今天才明白什么是装箱的本质。短短3年就这么过去了。

 

Galy_绿
粉丝 12
博文 133
码字总数 14908
作品 0
海淀
私信 提问
加载中
请先登录后再评论。
Java面试题(全)--视频系列

此系列为面试笔试题的视频讲解,以下均为超链接,点击即可进入每个知识点的讲解。 Java面试题01.面试的整体流程 Java面试题02.java的垮平台原理 Java面试题03.搭建一个java的开发环境 Java面...

osc_9wm81b2v
2019/04/15
5
0
Java面试知识点汇总

Java面试知识点汇总 置顶 2019年05月07日 15:36:18 温柔的谢世杰 阅读数 21623 文章标签: 面经java 更多 分类专栏: java 面试 Java面试知识汇总 版权声明:本文为博主原创文章,遵循 CC 4...

osc_ovdqjt64
2019/09/03
4
0
最全最新java面试题系列全家桶(带答案)

如有需要获取最新资料,以及更全面的PDF版面试题,点击免费领取! 还可以获取最新最全的java技术栈开发视频。 小编会持续同步最新技术视频、面试题精选,以及职场经验、技能分享等,欢迎关注...

程序猿阿辉
2019/08/23
2
0
Java面试题阶段汇总

初级面试题 Java面试题-基础篇一 Java面试题-基础篇二 Java面试题-集合框架篇三 Java面试题-基础篇四 Java面试题-基础篇五 Java面试题-javaweb篇六 Java面试题-javaweb篇七 Java面试题-框架篇...

osc_z1hvg4cu
2018/04/24
15
0
java面试常考题

链接:https://www.zhihu.com/question/19774340/answer/132525239 120道java面试常考题目(附答案) 1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?JAVA常考面试题牛客网...

osc_kf729ara
2018/03/24
8
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringCloud 应用在 Kubernetes 上的最佳实践 — 开发篇

作者 | 孤弋 阿里云高级技术专家,负责 EDAS 的开发和用户体验优化工作。 前言 近年来,云原生、Kubernetes、微服务、SpringCloud 这些名词在技术圈内不绝于耳,数据显示,使用 SpringCloud ...

阿里云技术博客
19分钟前
0
0
如何能够高效率学习Web前端技术

  Web前端开发作为前端技术的重要组成,一直占据着重要的地位,整个IT行业内有大量的前端开发从业者,随着移动互联网、大数据和人工智能的发展,目前前端的知识体系也在逐渐丰富。   要想...

SXXpenguin
19分钟前
0
0
Spring Boot 2.3.0正式发布:优雅停机、配置文件位置通配符新特性一览

当大潮退去,才知道谁在裸泳。。关注公众号【BAT的乌托邦】开启专栏式学习,拒绝浅尝辄止。本文 https://www.yourbatman.cn 已收录,里面一并有Spring技术栈、MyBatis、中间件等小而美的专栏...

osc_odp8kgup
19分钟前
0
0
HttpMessageConverter是这样转换数据的

Java Web 人员经常要设计 RESTful API(如何设计好的RESTful API),通过 json 数据进行交互。那么前端传入的 json 数据如何被解析成 Java 对象作为 API入参,API 返回结果又如何将 Java 对象...

tan日拱一兵
2019/05/27
7
0
angular浏览器兼容性问题解决方案

问题:edge浏览器下,固定列的边框消失 原因:ng-zorro-antd表格组件使用nzLeft和nzRight指令固定的表格列,这两个指令的实现css3中的标签: position: -webkit-sticky !important;positio...

osc_elbmybcg
21分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部