Integer 包装器类 大小比较

今天做功能,处于小心的习惯,打印了一下两个Integer比较的语句,发现了一个问题:

为了防止不小心掉入这样的陷阱,对于基本类型的比较,用“==”;而对于基本类型的封装类型和其他对象,应该调用public boolean equals(Object obj)方法(复杂对象需要自己实现equals方法)。

参考:http://angelinafan.blog.163.com/blog/static/1361727982011224112444751/

时间: 2024-08-09 22:01:13

Integer 包装器类 大小比较的相关文章

java基本类型和包装器类

java是一种面向对象语言,java中的类把方法与数据连接在一起,并构成了自包含式的处理单元.但在java中不能定义基本类型(primitive type),为了能将基本类型视为对象来处理,并能连接相关的方法,java为每个基本类型都提供了包装类,这样,我们便可以把这些基本类型转化为对象来处理了.这些包装类有:Boolean,Byte,Short,Character,Integer,Long,Float,Double,Void共9个(注意:Date不是,无其基本类型). 一. 包装类(Wrapp

Java中的StringBuffer、StringBuilder和包装器类型

1.如何使用StringBuffer类? 答:1).StringBuffer类用于表示可以修改的字符串,称为字符串缓冲对象: 2).使用运算符的字符串将自动创建字符串缓冲对象: 例:str1 + str2的操作,实际上把str1与str2都创建成StringBuffer类对象: 2.StringBuffer类的构造方法有哪些常用的重载方式? 答:StringBuffer()        创建一个空的StringBuffer对象,默认保留16个字符的缓冲空间 StringBuffer(Strin

对象包装器与自动装箱

前言 前面提到过,除了int,float这些基本数据类型,其他所有数据类型在Java中都是类. 那么,如果我希望这些基本类型也是类类型呢? 那么就使用对象包装器吧. 包装器的作用 1. 它能够提供很多类型转型方面的方法. 2. 泛型数据的成员只能是对象. 自动装箱 就是当你使用某个基础类型,但实际类型要求是它的包装器的时候,编译器不会报错,会帮你自动完成转型. 如: ArrayList <Integer> array = new ArrayList <> (): array.add

(九)对象包装器与自动装箱

有时候需要将基本数据类型转换为对象,如int -> Integer.Integer这样的类称为对象包装器类,该类一旦构造对象,便是不可变的. 装箱 list.add(3) 自动变为 list.add(Integer.valueOf(3)) 拆箱 int n = list.get(i) 自动变为 int n = list.get(i).intValue() 注意:Integer对象是不可变的,包含在包装器的内容不会改变.不能使用包装器类创建修改数值参数的方法.比如: Integer n = Int

Java数据类型包装器

Java库在java.lang包中提供了八个类来表示八种基本类型中的每一种.这些类称为包装类,因为它们在对象中包装原始值.下表列出了原始类型及其相应的包装类. 基本类型 包装类 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean 方法 所有包装类都是不可变的. 它们提供了两种方法来创建它们的对象: 使用构造函数 使用valueOf()工厂方法 除了

包装器类型

我们都知道在Java语言中,new一个对象存储在堆里,我们通过堆栈中的引用来使用这些对象:但是对于经常用到的一系列类型如int,如果我们用new将其存储在堆里就不是很有效——特别是简单的小的变量.所以就出现了基本类型,对于这些类型不是用new关键字来创建,而是直接将变量的值存储在堆栈中,因此更加高效. 有了基本类型之后为什么还要有包装器类型呢?我们知道Java是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型(如我们在使用集合类型Collect

《Head First Servlets & JSP》-13-过滤器和包装器

过滤器是什么 与servlet非常类似,过滤器就是java组件,请求发送到servlet之前,可以用过滤器截获和处理清求,另外 servlet结束工作之后,在响应发回给客户之前,可以用过滤器处理响应. 容器根据DD中的声明来确定何时调用过滤器.在DD中,部署人员要建映射.明确对于哪个请求URL模式要调用哪些过滤器.所以,要由部署人员(而不是程序员)来确定哪些请求或响应应当由哪些过滤器处理. 过滤器要做的事情 只有一个过滤器接口:Filter,根据使用方式,可完成诸如以下工作: 请求过滤器可以完成

过滤器与包装器

过滤器允许你拦截请求,也允许你控制响应.Filter很像Servlet,容器管理过滤器的生命周期.和Servlet类似,过滤器也有init()和destroy()方法,对应于servlet的doGet()/doPost(),过滤器则有一个doFilter()方法.过滤器也需要在DD中声明,过滤器的运行顺序也将在DD中声明. 1.过滤器中的生命周期 首先要有一个inti(),最常见的实现是在inti()中保存一个FilterConfig的引用,以备过滤器以后使用(获取过滤器参数等). 真正的工作在

类模板,多种类型的类模板,自定义类模板,类模板的默认类型,数组的模板实现,友元和类模板,友元函数,类模板与静态变量,类模板与普通类之间互相继承,类模板作为模板参数,类嵌套,类模板嵌套,类包装器

 1.第一个最简单的类模板案例 #include "mainwindow.h" #include <QApplication> #include <QPushButton> #include <QLabel> template<class T> class run { public: T w; void show() { w.show(); } void settext() { w.setText("A"); }