Java基础知识强化68:基本类型包装类之Integer直接赋值的面试题

1. 面试题:

Integer  i = 1;

i += 1;

做了哪些事情?

(1)其中Integer i =1;做了自动装箱( 使用valueOf()方法,int ---> Integer )

(2)其中i +=1;先将Integer类型的 i 自动拆箱成 int(使用intValue()方法,Integer--->int ),完成加法运行之后的 i 再装箱成Integer类型。

2. 面试题:

观察下面程序,判断输出写出结果:

 1 package cn.itcast_06;
 2
 3 /*
 4  * 看程序写结果
 5  *
 6  * 注意:Integer的数据直接赋值,如果在-128到127之间,会直接从缓冲池里获取数据
 7  */
 8 public class IntegerDemo {
 9     public static void main(String[] args) {
10         Integer i1 = new Integer(127);
11         Integer i2 = new Integer(127);
12         System.out.println(i1 == i2);
13         System.out.println(i1.equals(i2));
14         System.out.println("-----------");
15
16         Integer i3 = new Integer(128);
17         Integer i4 = new Integer(128);
18         System.out.println(i3 == i4);
19         System.out.println(i3.equals(i4));
20         System.out.println("-----------");
21
22         Integer i5 = 128;
23         Integer i6 = 128;
24         System.out.println(i5 == i6);
25         System.out.println(i5.equals(i6));
26         System.out.println("-----------");
27
28         Integer i7 = 127;
29         Integer i8 = 127;
30         System.out.println(i7 == i8);
31         System.out.println(i7.equals(i8));
32
33         // 通过查看源码,我们就知道了,针对-128到127之间的数据,做了一个数据缓冲池,如果数据是该范围内的,每次并不创建新的空间
34         // Integer ii = Integer.valueOf(127);
35     }
36 }

程序运行的结果:

时间: 2024-11-04 04:25:40

Java基础知识强化68:基本类型包装类之Integer直接赋值的面试题的相关文章

Java基础知识强化48:StringBuffer类之StringBuffer的三个面试题

1. 面试题:String,StringBuffer,StringBuilder的区别 ? 答:String是字符串内容不可变的,而StringBuffer和StringBuilder是字符串内容长度可变的: StringBuffer是同步的,数据安全,效率低. StringBuilder是不同步的,数据不安全,效率高. 2. 面试题:StringBuffer 和数组的区别? 答:二者都可以看出是一个容器,装其他的数据.但是呢,StringBuffer的数据最终是一个字符串数据,而数组可以放置任

Java基础知识强化65:基本类型包装类的引入

1. 基本类型包装类概述 (1)将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据. (2)常用的操作的之一:用于基本数据类型与字符串之间的转换. (3)基本类型和包装类的对应 • Byte.Short.Integer.Long.Float.Double.Character.Boolean 为了对基本数据类型进行更多的操作,更方便的操作,Java就针对每一种基本数据类型提供了对应的类类型--------包装类类型. 2. 案例引入: 1 package cn.itcast

Java基础知识强化(用于自我巩固)以及审查

1. Java 和 JDK 的关系 JDK(Java Development Kit)Java 开发工具包,它包括:编译器.Java 运行环境(JRE,Java Runtime Environment).JVM(Java 虚拟机)监控和诊断工具等 Java 则表示一种开发语言. 2. Java 程序是怎么执行的? 日常工作中使用的开发工具(IntelliJ IDEA 或 Eclipse 等)可以很方便的调试程序,或者是通过打包工具把项目打包成 jar 包或者 war 包,放入 Tomcat 等

Java基础知识强化之多线程笔记01:多线程基础知识(详见Android(java)笔记61~76)

1. 基础知识: Android(java)学习笔记61:多线程程序的引入    ~    Android(java)学习笔记76:多线程-定时器概述和使用 

java基础知识强化52:Java程序员面试失败的5大原因

下面是Java程序员面试失败最有可能的5大原因,当然也许这5点原因适用于所有的程序员,所以,如果你是程序员,请认真阅读以下内容. 1 说得太少 尤其是那些开放式的问题,如“请介绍下你自己”或“请讲一下你曾经解决过的复杂问题”.面试官会通过你对这些技术和非技术问题的回答来评估你的激情.他们也会通过模拟团队氛围和与你的交流互动来判断你的经验和能力. 所以,仅仅只用两三句话来回答不但不能显示出你对这个专业的兴趣,还会让整个面试过程显得非常无聊.如果你不能很好地说明你的经验.成就和技能可以给企业带来的价

Java基础知识强化69:基本类型包装类之Character概述和Character常见方法

1. Character概述: 1 public final class Character extends Object implements Serializable,Comparable<Character> Character类在对象中包装一个基本类型char的值.Character类型的对象包含类型为char的单个字段. 此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并且将字符从大写转换成小写,反之亦然. 2. Character的构造方法: 1 Charact

Java基础知识强化66:基本类型包装类之Integer的构造方法

1. Integer类概述 (1)Integer类在对象中包装了一个基本类型 int 的值,Integer类型的对象包含一个int类型的字段. (2)该类提供了多个方法,能在int类型和String类型之间互相转换,还提供了处理int类型时候非常有用的其他一些常量和方法. 2. Integer的构造方法 (1)public Integer(int value): (2)public Integer(String s): 3. Integer类的案例 1 package cn.itcast_02;

Java基础知识强化之集合框架笔记43:Set集合之TreeSet存储Integer类型的元素并遍历

1. TreeSet类概述: • 能够对元素按照某种规则进行排序. • 或者根据创建set时提供的Comparator进行排序 • 具体取决于使用的构造方法 2. 代码示例: 1 package cn.itcast_05; 2 3 import java.util.TreeSet; 4 5 /* 6 * TreeSet:能够对元素按照某种规则进行排序. 7 * 排序有两种方式 8 * A:自然排序 9 * B:比较器排序 10 * 11 * TreeSet集合的特点:排序和唯一 12 * 13

Java基础知识强化之IO流笔记68:Properties和IO流集合使用

1. Properties和IO流集合使用 这里的集合必须是Properties集合:  public void load(Reader reader):把文件中的数据读取到集合中  public void store(Writer writer,String comments):把集合中的数据存储到文件 2. 代码实现: 1 package cn.itcast_08; 2 3 import java.io.FileReader; 4 import java.io.FileWriter; 5 i