原生类型的autoboxing和auto-unboxing

我们知道,在Java中,int,long等原生类型不是一个继承自Object的类,所以相应的,有很多操作我们都不能利用原生类型操作,比如想要把一个整数放入到一个集合中,我们必须首先创建一个Integer对象,然后再将这个对象放入到集合中。当我们从集合中取数的时候,取出来的是一个Integer对象,因此不能直接对它使用加减乘除等运算符,而是必须用Integer.intValue()取到相应的值才可以,这样的过程称之为boxing和unboxing。

J2SE5.0支持autoboxing和auto-unboxing,也就是说我们以后不需要再手动地做这些boxing和unboxing操作了,java语言会替我们完成。具体可以参照下面的示例:

List<Integer> intList=new ArrayList<Integer>();

intList.add(2);

intList.add(new Integer(5));

int i=3+intList.get(0);//i=5

int j=3+intList.get(1); //j=8

从这一段程序中我们可以看到,autoboxing和auto-unboxing为我们省掉了很多不必要的工作。

转载于:https://www.cnblogs.com/jackyzhong/archive/2005/05/13/154807.html

原生类型的autoboxing和auto-unboxing相关推荐

  1. WCF Data Service 的.NET Client 的不支持原生类型服务操作的解决方法

    WCF Data Service  的.NET Client 的不支持返回值为原生类型(string,int)的服务操作调用,例如我们用如下服务操作: [WebGet] public ObjectQu ...

  2. java什么是原生类_Java 基础 - 原生类型

    更详细的说明,请参考: Java 原生类型与包装器类型深度剖析,https://blog.csdn.net/justloveyou_/article/details/52651211 一. 原生类型与 ...

  3. java反射之dynamic invocation与原生类型

    java反射之dynamic invocation与原生类型 java中的方法参数或者返回值可能为原生类型,反射调用方法的时候,理解在反射invoke方法中如何使用原生类型很重要.        如果 ...

  4. C++17 非类型模板参数的auto 和 DevC++ 支持C++17

    模板参数分为两种,一种是类型模板参数,也是我们用得最多的一种: template <typename T, typename U> auto add(T t, U u) {     ret ...

  5. java原生类型没有封装_Java基本数据类型与封装类型详解(int和Integer区别)

    Java基本数据类型与封装类型详解(int和Integer区别) 发布于 2020-4-19| 复制链接 摘记: int是java提供的8种原始数据类型之一.Java为每个原始类型提供了封装类,Int ...

  6. C++——auto、decltype、返回类型后置、模板别名:using =、nullptr

    1.3.声明 1.3.1.auto 以前版本关键字auto是一个存储类型说明符,表示动态存储还是静态存储,与static关键字对应,第九章也写了,C++11将其用实现自动类型推断(第三章).必须显示初 ...

  7. C++中的sta::atomic<bool>和auto类型

    文章目录 sta::atomic auto类型用法总结 sta::atomic 最基本的原子整数类型是std::atomic(可以使用预定义的别名std::atomic_bool),这是一个比std: ...

  8. C++ Primer 5th笔记(2)chapter 2变量和基本类型:constexpr 、auto、类型别名、decltype

    1.constexpr和常量表达式 1.1 常量表达式 定义:变量的值在编译器的时候就可以得到是一个常量 eg. const int i = 0; 1.2 constexpr变量 让编译器来验证变量的 ...

  9. leetcode(3)——697. 数组的度(C++版本注释)(map容器),448. 找到所有数组中消失的数字(取余操作,C++中的auto类型)

    文章目录 前言 697 程序 思路 收获 map容器 448 程序 收获 取模操作的思考 auto 前言 大佬的程序,边刷边总结边学语言. 题目697 697 程序 class Solution {p ...

最新文章

  1. java三维滑雪,第六章 三维数据空间分析方法.ppt
  2. Everest 0.6 设置ADSL上网
  3. 如何查看CO凭证号码及明细
  4. [转]优秀Python学习资源收集汇总
  5. adf时间作用域_ADF:在任务流终结器中支持bean作用域
  6. 解决linux下fflush(stdin)无效
  7. RFC2616-HTTP1.1-Methods(方法规定部分—单词注释版)
  8. Android 系统(77)---MVC,MVP,MVVM的区别
  9. 解决公司服务器加入域中不能启动应用系统的问题
  10. Failed installing tomcat9 service
  11. RHCE认证考试介绍
  12. html边框如何制作三角形,如何用css3绘制有边框的三角形
  13. 备份Ubuntu 并制作成iso安装文件
  14. 文献调研-存算一体的实现
  15. unity python热更新_Unity热更新介绍和测试方法
  16. java抽象类中的变量修饰符_菜鸟整理的三个权限修饰符与接口、抽象类的总结...
  17. 【Vue】Vue移动端页面自适应解决方案
  18. Ubuntu 安装make
  19. Linux下NFS服务器的配置 (二)
  20. 《数据结构》C语言版 严蔚敏版本 学习笔记

热门文章

  1. 计算机学院肖鹏,肖鹏-生命科学与技术学院
  2. EntityFramework Code-First—领域类配置之DataAnnotations
  3. Java数组、集合的三种遍历方式(包懂)
  4. 为什么需要消息队列MQ
  5. OpenGL中的Shader
  6. ffmpeg摄像头推流
  7. 一个线程加一运算,一个线程做减一运算,多个线程同时交替运行--synchronized...
  8. 域模型向左走(充血),向右走(贫血)
  9. sql中的遇到的有问题的
  10. 【Vegas2008】9月19日-青椒炒南瓜