问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java中基本类型与封装类的区别?

发布网友 发布时间:2022-04-25 16:03

我来回答

5个回答

热心网友 时间:2023-10-15 17:33

基本类型只能按值传递,而每个基本类型对应的封装类是按引用传递的。 

从性能上说java中的基本类型是在堆栈上创建的,而所有的对象类型都是在堆上创建的,(对象的引用在堆栈上创建)。

比如 Integer i=new Integer(10); 其中new Integer()是在堆上创建的,而他的引用Integer i是在堆栈上。 封装类的出现,是为了更方便的使用一些基本类型不具备的方法,比如valueOf(),toString()等等。还有你如果想传递一个int对象的引用,而不是值,那只能用封装类。

在堆栈上分配内存的调用效率和在堆上分配内存的效率差太多了。虽然在堆栈上分配内存效率高,不过在堆栈上分配内存有内存泄露的问题。(这是一个平庸程序员基本解决不了的问题...)java用了一种很天才的方法提高了在堆上分配内存的效率,尽管如此,java还是慢。他不太可能达到向c++那么快,尽管他一直在承诺总有一天虚拟机会和机器码速度一样快。

JDK5.0开始可以自动封包了 ,也就是基本数据可以自动封装成封装类,基本数据类型的好处就是速度快(不涉及到对象的构造和回收),封装类的目的主要是更好的处理数据之间的转换,方法很多,用起来也方便。

热心网友 时间:2023-10-15 17:33

java的基本数据类型其实可以满足数据运算等要求了,那么为什么要创造出封装类呢,原因是想用面向对象的思想去操作数据。最大的区别,封装类是对象,基本数据类型不是。举个例子,
比如一个集合List,它只能往里面添加对象,也就是Object,那么直接存数字肯定是不行 的,则需要将数字封装成封装类型对象再存到该List中,如
List list = new ArrayList();
list.add(new Integer(1));

等价于

List list = new ArrayList();
list.add(1);

因为jdk1.5后自动装箱。

热心网友 时间:2023-10-15 17:34

基本类型与封装类的最大区别是,封装类是引用类型,其实问题就是基本类型和引用类型的区别。
基本类型在内存中是存储在栈中,引用类型的引用(值得地址)存储在栈中,而值是存储在堆中。
建议学习下堆栈,这样就很清楚了。

热心网友 时间:2023-10-15 17:34

包装类有方法可以调用,基本类型没

热心网友 时间:2023-10-15 17:35

为了面向对象所以有了封装类
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
山东沃尔德集团集团所辖公司介绍 齐鲁银行无忧贷和市民贷哪个好 什么叫补按揭 后按揭贷款什么意思 买房者续按揭有什么危害 加按揭是什么意思 八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... Java中的包装类和基本数据类型有什么区别? java中的基本数据类型与包装器类有什么区别 java的包装类和基本数据类型之间的区别 高中的必读的课外书和名著有哪些? java基本类型和包装类的区别 梦到卖杂物 高中必读哪些课外书籍? 梦见堆杂物间倒塌了这是什么征兆? 高一有哪些必读的课外书籍? 梦见把被堵到路的杂物清除货车通过去是什么意思? 梦见树有上很多葡萄,还偷摘了几个, 梦见自己要回家,一堆衣服没收拾完预示什么? 2020年七月郑和下西洋多少周年 周公解梦,梦见屋里堆放的杂物不见了屋子里堆放着很多杂物,我做梦,下班回来一进家门,发现那些杂物都 2020年7月17号发生的国内外大事有哪些? 梦见老婆偷葡萄给我吃 2020年7月17号到2021年11月5号一共是多少天 梦见室内又一堆蚂蚁,我想把它们弄出去,结果弄散了,搓不起来了?_百度知 ... 2020年七月份的六级一共几套真题呀? 2020年7岁7个月是哪年出生的? 全面了解java基本类型和封装类型的区别及应 Java中有关基本数据类型和包装类的区别和使用标准 全面了解java基本类型和封装类型的区别及应用 java分为基本数据类型和包装类型还是基本类型和引用类型,包装类型和引用类型区别在哪里? Java的封装类型和原始类型的区别? 怎样可以炼出“马甲线”? JAVA中基本数据类型和基本数据类型的封装类的区别 基础类型包装类及java中equals和==的区别 什么是马甲线,怎么样能练成就是呢 就是练马甲线那个 三组是什么意思? 笔记本win10系统怎么连接wifi java判断是不是基本类型,基本类型与对应的包装类 当今流行的马甲线,应该用什么诀窍练才是有效的? Java里包装类型可以和基本类型比较吗? 很羡慕拥有马甲线的人,到底怎么样才能练出马甲线? 基本数据类型和包装器类型有什么关联 怎么添加不了好友 怎么样才能有马甲线啊? 马甲线是什么? 什么是马甲线,怎么样能练成 人有多大的毅力才能练出马甲线?