zoukankan      html  css  js  c++  java
  • Java之泛型为什么需要包装类

    泛型必须是包装类类型,也就是只能代表引用类型,而不能是基本数据类型,也就是不能是原始数据类型,比如 long  / int / short / byte / double / float / boolean / char ,这些都是不能被引用了。

    为什么只能是包装类类型呢?

    因为在程序中,有些结果有些数据可能会返回空值,转化为基本数据类型比如 int 就会发生异常,因为类似于 int 这些是没有 null 值可言的。但是基本数据类型对应的如 Integer 这些包装类类型就不会,因为对象可以为 null 值。

    那,有包装类就好了呀!正所谓,Java 一切皆是对象,干嘛还需要基本数据类型呢?咋全部创建个对象不行吗?

    是呀,这又是为什么?这主要是基于程序性能的考量的,基本数据类型的定义是存放在栈中的,但是我们创建对象而引出来的实际数值则是放在堆里的,堆的速度远远不如栈。而且基本数据类型变量的创建和销毁都非常快,而类定义的变量还需要 JVM 去销毁。没错,就是因为考量了程序性能的问题。

  • 相关阅读:
    ios7 苹果原生二维码扫描(和微信类似)
    ios7之后 根据UILabel的文字计算frame的方法
    [Luogu1944] 最长括号匹配
    [bzoj3916] friends
    [NOIp2006] 能量项链
    [NOIp2003] 加分二叉树
    [Luogu1353] 跑步Running
    [Luogu2214] Mooo Moo S
    [POJ2452] Sticks Problem
    [POJ2406] Power Strings
  • 原文地址:https://www.cnblogs.com/zzy0218/p/14246398.html
Copyright © 2011-2022 走看看