integer-java包装类的存在意义是什么

问题描述

java包装类的存在意义是什么

像int类型的包装类Integar
我觉得int本来就是由很多整数组成的啊,我觉得int就是一个类,干嘛还要Integar这样的包装类

解决方案

为什么要有封装类型:
我们都知道,JAVA中Object这个类是所有类的超类,但实际上呢,八种基本类型并不属于Object。。。假如你思考过这个问题,那么就很明朗了:

public void test(Object obj){
    System.out.println(obj);
}
 {
     test(1);
 }

如上,定义的test函数需要一个Object类型的参数,可是1默认是int类型,它跟Object没半毛钱关系,凭什么test函数可以接纳一个int型的参数进去呢?
原因在于int有其对应的封装类型:Integer。
编译器会自动将1变成Integer,而Integer这个封装类型是Object的子类,所以可以向上转型被test函数获取。

可以说,假如没有这套封装类型,那基本类型传参将会是JAVA程序员的噩梦。
封装类型最大的意义正在于此。

项目中对封装类型最广泛的应用:实体类中所有属性均应采用封装类型。原因:基本类型没有null值,而数据库的表中普遍存在null值。

解决方案二:

int是基础类型,对应的包装类型是Integer,包装类型的意义是可以作为对象使用,而且封装类许多数值类型的操作方法,方便各位数值操作。

解决方案三:

包装器类最重要的作用是使得我们可以把基本数据类型保存在集合类中。集合类中只能保存对象引用。

解决方案四:

简单来说,就是为了参与面向对象的编程

时间: 2024-09-19 09:05:55

integer-java包装类的存在意义是什么的相关文章

请教大神们一个java包装类的问题

问题描述 请教大神们一个java包装类的问题 请教大神们一个java包装类的问题, String str = "abc"; String str2 = "abc"; System.out.println(str == str2); Integer i = Integer.valueOf(1); Integer i2 = Integer.valueOf(1); System.out.println(i ==i2); 我知道str和str2是存放在字符串常量池中的,所以

扯扯Java中Finalization的意义

这是Stack Overflow上关于Finalizetion意义的两段讨论,这两个观点是互为补充的.   观点1: 垃圾回收器(The garbage collector)自动在后台运行(虽然它也可以被直接调用,但是一般不这么干),基本上它就是清理那些没有被其他对象引用的对象.(垃圾回收器的整个工作原理要比上面说的复杂,但基本就是这样).所以它不会改变活动对象(live object)上的任何引用.如果一个对象不能被其他活动对象引用(can not be accessed),那么就意味着它可以

JAVA包装类及自动封包解包示例代码

在学习上是一个知识点,但不知如何与实际串起来... 悲哀,真是悲哀!!! 代码: 1 public class Wrapper { 2 public static void main(String[] args) { 3 int i = 500; 4 Integer t = new Integer(i); 5 int j = t.intValue(); 6 String s = t.toString(); 7 System.out.println(t); 8 Integer t1 = new I

JAVA包装类及自动封包解包实例代码_java

复制代码 代码如下: public class Wrapper {     public static void main(String[] args) {         int i = 500;         Integer t = new Integer(i);         int j = t.intValue();         String s = t.toString();         System.out.println(t);         Integer t1 =

java中Integer包装类的详细讲解(java二进制操作,所有进制转换)

程序员都很懒,你懂的! 今天为大家分享的是Integer这个包装类.在现实开发中,我们往往需要操作Integer,或者各种进制的转换等等.我今天就为大家详细讲解一下Integer的使用吧.看代码: package com.herman.test; public class IntegerTest { public static void main(String[] args) { System.out.println("Integer中的常量***************************

Java的基本数据类型和包装类的关系

Java是一种面向对象语言,java中的类把方法与数据连接在一起,并构成了自包含式的处理单元.但在Java中不能定义基本类型(primitive type),为了能将基本类型视为对象来处理,并能连接相关的方法,Java为每个基本类型都提供了包装类,这样,我们便可以把这些基本类型转化为对象来处理了.这些包装类有:Boolean,Byte,Short,Character,Integer,Long,Float,Void等. 值得说明的是,java是可以直接处理基本类型的,但是在有些情况下我们需要将其作

Java源码解析Integer方法解读_java

toUnsignedString方法解读 看到Integer中有这样的一个方法把int转为Unsigned类型的字符串,但是有几个点不是很清楚,经过查询资料弄懂了,解读如下: /** * Convert the integer to an unsigned number. */ private static String toUnsignedString(int i, int shift) { char[] buf = new char[32]; int charPos = 32; int ra

[JAVA软件工程师-面试宝典-2013最新版]

[JAVA面试宝典-2013最新版] 一. Java基础部分......................................................................................................2 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?.....2 2.Java有没有goto?....................................................

我的Java开发学习之旅------>Java经典面试题

摘自张孝祥itcast 从享受生活的角度上来说:"程序员并不是一种最好的职业,我认为两种人可以做程序员,第一,你不做程序员,你就没有什么工作可做,或者说是即使有可以做的工作但是你非常不愿意去做:第二,你非常痴迷和爱好程序,并且在这方面有一些天赋和优势.程序员的结局也是有两种:第一,默默退休,第二以程序员为起点或跳板,注意积累,跟对了好的老板或团队,找到和很好的搭档自己创业,成为IT金领和富翁." 人们在时间面前是平等的,吾生也有涯,所以,你的经验更丰富点,那不算什么,经验是用时间积累的