问题主题:类型转换

  书页号码:37页

题目:

讨论点:答案不是D,应该是B

理由:看下面在编译器输入的结果

知识扩展:装箱与拆箱, == 与 equals 区别

之前也老是听说什么装箱、拆箱之类的(装你妹的箱,JAVA概念就是多),之前不太留意,后来查了一下资料、所谓的装箱与拆箱主要是因为JAVA里面每一种基础类型都有相对应的对象类型,你比如基础类型 int 对应的是Integer,long 对应 Long,double 对应 Double 等等,为什么每种基础类型都有相对应的对象类型呢?我想主要是为了操作方便,既然说是对象类型,那当然里面就会有各种各样的方法供使用,比如你想在基础类型之间做相互转化你就可以先将基础类型变成对应对象类型,然后再通过这个对象类型提供的方法进行转化,如下面的例子:

那到底什么是装箱和拆箱呢,装箱就是从基础类型变成对应的对象类型后编译器会执行装箱操作,反之则是拆箱,就是这么easy。下面一篇博客是专门介绍JAVA装箱与拆箱的与大家分享一下

http://www.cnblogs.com/dolphin0520/p/3780005.html

== 与 equals 我几乎每天都在用,在此之前我也没有太在意这里面的区别,后来查了一下资料,== 会根据场合来决定到底比较的是什么,是比较值还是比较对象内存地址呢。而equals 如果你看了这个equals的实现方法,你会发现它首先比较的是对象内存地址,假如内存地址相等就立马返回,如果内存地址不相等然后就比较实体,实体相等就返回,如果实体不相等最后才比较值。关于这一块我得到的结论是如果是比较两个基础类型的对象类型时最好用equals,原因是因为会出现如下现象:

好了就写到这里了,我要一个人去吃饭了,然后去洗个头搞搞发型,回来练练声乐之类的。有说得不对的地方忘指正,谢谢了。

《JAVA 程序员面试宝典(第四版)》之JAVA程序设计基础概念(1)类型转换的更多相关文章

  1. 【Java】Java程序员面试宝典(第三版)第5章----Java程序设计基本概念

    1.static静态变量,在次级作用域也可以被修改. 2.k++ + k++.第一个自加实际上只有在与计算+k++时补增.详情P36的题目. 3.Java数据类型从低到高分为(byte short c ...

  2. 《JAVA 程序员面试宝典(第四版)》读书笔记之前言

    工作五年了一直在小的软件公司混,总感觉自己的专业知识没有太大的提升.当然了中间也换了一两家公司,面试的公司就很多家,总感觉正规的软件公司(无论大小)对于基础知识的考核都非常重视,而不管你说你之前服务过 ...

  3. 黑马程序员面试宝典(Java)Beta6.0免费下载

    场景 JavaSE基础 面向对象特征以及理解 访问权限修饰符区别 理解clone对象 JavaSE语法 java有没有goto语句 &和&&的区别 如何跳出当前的多重嵌套循环? ...

  4. ASP.NET的几个试题(《C#与.NET程序员面试宝典》)

    更多参考:博客园笔记 :ASP.NET是什么 ASP.NET不是一种语言,而是创建动态Web页的一种强大的服务器端技术,它是Microsoft.NET Framework中一套用于生成Web应用程序和 ...

  5. 《程序员面试金典(第5版)》【PDF】下载

    <程序员面试金典(第5版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382252 内容简介 本书作者Gayle Laakma ...

  6. Android高薪之路-Android程序员面试宝典

    Android高薪之路-Android程序员面试宝典

  7. JAVA程序员面试宝典

    程序员面试之葵花宝典 面向对象的特征有哪些方面    1. 抽象:抽象就是忽略一个主题中与当前目标2. 无关的那些方面,3. 以便更充分地注意与当前目标4. 有关的方面.抽象并不5. 打算了解全部问题 ...

  8. [Java程序员面试宝典]读书笔记

    ClassLoader具备层次关系,且不止一种.不同的类装载器分布创建的同一个类的字节码数据属于完全不同的对象,没有任何关联 通过Class.forName(String className),能够动 ...

  9. net 程序员面试宝典

    第1部分 求职过程 ------------------------------------------------------------------------------------------ ...

  10. 《JAVA 程序员面试宝典(第四版)》之循环、条件、概率

        分享内容:关于集合的使用   书页号码:77页 题目:一个字符串中包含a~z中的多个字符,如有重复,如String data = "aavzcadfdsfsdhshgwasdfasd ...

随机推荐

  1. Lambda函数及其用法

    Lambda函数又称匿名函数,匿名函数就是没有名字的函数,函数没有名字也行? 当然可以啦.有些函数如果只是临时一用,而且它的业务逻辑也很简单时,就没必要非给它取个名字不可. 先来看个简单lambda函 ...

  2. Go中http超时问题的排查

    背景 排查 推测 连接超时 疑问 http2 解决超时 并发连接数 服务端限制 真相 重试 解决办法 问题1 背景 最新有同事反馈,服务间有调用超时的现象,在业务高峰期发生的概率和次数比较高.从日志中 ...

  3. 百万年薪python之路 -- 函数初始

    1.函数 1.1 认识函数 定义一个事情或者是功能,等到需要的时候直接去用就好了.那么这里定义东西就是一个函数 函数:对代码块和功能的封装和定义 函数的好处: 减少代码的重复性 代码可读性高 将功能进 ...

  4. 实现Button的动态响应

    按下不同的Button实现不同的逻辑 但用同样的代码: using System.Reflection; namespace valuableBook { /// <summary> // ...

  5. vue实现rsa加密,数字签名,md5加密等

    一.使用jsencrypt进行rsa加密 原文链接:Js参数RSA加密传输,jsencrypt.js的使用 - CSDN博客 *(原文处有一个地方不对,不需要转换+,rsa已经做过base64转码了) ...

  6. Java IO_003.Reader与Writer--字符流以及编码对数据的操作(读取与写入)

    Java IO之Reader与Writer对象常用操作(包含了编码问题的处理) 涉及到文件(非文件夹)内容的操作,如果是纯文本的情况下,除了要用到File(见之前文章),另外就必须用到字符输入流或字符 ...

  7. SQL查询选修了所有课程的学生姓名

    select sname from student where not exists (select * from course where not exists   (select * from s ...

  8. ubuntu12.04 添加程序启动器

    方法: 1. 在/usr/share/applications目录下创建eclipse启动器配置文件 cd /usr/share/applications vim eclipse.desktop 2. ...

  9. Swift UIViewController中的delegate方式传值

    ios swift开发中有几种方式传值,看到简书上一篇不错的文章. 链接:http://www.jianshu.com/p/3e1173652996 一.通过segue进行传值 二.通过delegat ...

  10. vw vh 的概念

    视口单位(Viewport units) 什么是视口? 在桌面端,视口指的是在桌面端,指的是浏览器的可视区域:而在移动端,它涉及3个视口:Layout Viewport(布局视口),Visual Vi ...