包装类

在Java语言中,每一种基本的数据类型都有相应的对象类型,称为他们基本类型的包装类(包裹类)。
字节byte:Byte、短整数型short:Short
标准整数型int:Integer、长整数型long:Long
单精度实数型float:Float、双精度实数型double:Double
布尔型boolean:Boolean、字符型char:Character、无类型void:Void

在Java语言系统中,定义有一些数据集合(组合)类(接口),它们主要包含在java.util系统包中,如向量类Vector、接口List和Set等.
这些类和接口中的数据成员(元素)只允许保存对象类型,不允许保存基本的数据类型

一般情况下,将基本数据类型封装为包装类对象,可以通过包装类的构造函数。从包装类对象得到基本数据类型,可以通过包装类对象的xxxValue函数,高版本的JDK中也可以直接赋值.

简单数据类型和包装类的自动转换, 能够把常量直接赋值给对应的包装类,或把包装类直接赋值给简单变量

每个包装类同样都继承了系统基类java.lang.Object,重新定义了boolean equals(Object obj)成员函数和String toString()成员函数。equals()用来比较当前调用对象this与参数对象obj是否相等,实际上是比较它们的成员值是否相等,若是则返回true,否则返回false。当输出一个包装类对象时,将自动调用它的**toString()**成员函数,输出调用该函数所返回的字符串,实际上在每个包装类中定义的toString()成员函数,返回的是包装类的值所转换而成的字符串

每个包装类同样都实现了系统提供的用来比较大小的接口Comparable,实现了该接口中定义的抽象成员函数int compareTo(Object obj),当调用对象this的值大于参数对象obj的值时返回正数,小于时返回负数,相等时返回0。

进行包装类对象大小的比较和判断是否相等,可以调用相应的成员函数,也可以直接使用关系运算符进行比较。

向量类Vector

在Java中有许多与数据集合有关的接口及类,包含在由系统提供的java.util包中。
向量类(Vector)是实现了集合Collection接口和List接口的的具体类。

同数组类似,向量类可以存储数据,不同的地方在于,向量类对象的元素类型必须是类类型,而不能时简单的数据类型。数据的元素类型既可以是类类型也可以是基本数据类型。

向量对象的长度可以随着插入数据而自动增加。但是数组的长度是固定的。

访问数组元素通过下标运算符,访问向量类对象中的元素通过向量类中定义的成员函数。

Vector<元素类>对象名= new Vector<元素类>();

常用成员函数:

  • boolean add(E obj);向向量末尾插入一个元素obj,E表示元素类型
  • void add(int index, E obj)向向量中下标为index的位置插入一个元素obj,该位置及后面位置的所有元素均后移一个位置
  • int size();返回向量中当前保存的元素个数(向量长度)
  • E get(int index);返回向量中下标为index的元素值
  • E set(int index, E obj);把下标为index的元素值修改为obj的值
  • boolean remove(E obj)删除向量中与obj值相同的第一个元素,其后的所有元素值前移,删除成功返回真,否则返回假。
  • E remove(int index)删除向量中下标为index的元素,其后的所有元素值前移,删除成功返回该元素值,否则返回空值
  • boolean contains(E obj)判断obj是否存在于当前向量中,若存在则返回真,否则返回假
  • void clear();删除向量中的所有元素,使之变为一个空向量,此时向量长度size()的值为0

for循环的简化形式

  for(<元素类型> <变量名> : <数组或集合对象名>) <循环体>

其中的元素类型就是数组或者向量的元素的数据类型,变量名就是用来遍历的元素,冒号右面就是数组或者向量名。我们可以在循环体中操作变量,这样就可以实现对所有元素进行操作。

【Java学习笔记八】包装类和vector相关推荐

  1. 3.1常用类(java学习笔记)包装类及日期类

    一.包装类 java是一门面向对象的语言,秉承一切皆对象的思想. 可java中有一些基本数据类型并不是对象,有时可能需要将它们变为对象. 这时就需要用到我们的包装类了. 基本数据类型 包装类 int ...

  2. java学习笔记(八)----包,jar文件

    包  //建立包后同一个文件中的类都属于这个包,所有的类都必须按包名所对应的目录,在硬盘中存放.同一个包中的类在相互调用时,是不用指定包名的.    ---在编译时对于下面这个类,用这样的方法  ja ...

  3. Java学习笔记(八):简单的窗体实现KNN手写体识别(借鉴)

    一.KNN手写识别原理 在下图中,要判断绿色圆归属为哪个类(红三角形还是蓝四边形) 如果K=3,因为红三角形占比例为2/3,所以绿色圆归属为红色三角形: 如果K=5,因为蓝四边形比例为3/5,所以绿色 ...

  4. java学习笔记(二十八)——开发一个小项目(VMeeting3.0)

    上篇文章按照较规范的产品需求文档梳理了项目的逻辑,感觉开发起来明晰了很多:挂上一篇文章java学习笔记(二十七)--开发一个小项目(VMeeting2.0)_Biangbangbing的博客-CSDN ...

  5. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  6. 2022年Java学习笔记目录

    一.2022年Java任务驱动课程 任务驱动,统摄知识点:2022年Java程序设计讲课笔记 二.2022年Java学习笔记 (一)踏上Java开发之旅 Java学习笔记1.1.1 搭建Java开发环 ...

  7. java学习笔记:全部,txt版本

    java学习笔记:全部,txt版本 笔者注: 1.不知道怎么上传附件,所以就把txt文本内容全部贴在这里吧. 2.已经把txt版本的笔记上传到CSDN了,我没有设置索要积分才能下载,但是不知道为什么C ...

  8. Java学习笔记(原创)

    Java学习笔记(原创) 2011-12-01 16:37:00|  分类: Java|举报|字号 订阅 下载LOFTER客户端 基本知识 一. Java基础 1. java语言的特点: ①简单:没有 ...

  9. java学习笔记11--集合总结

    java学习笔记系列: java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Ob ...

最新文章

  1. python访问k8s的api_如何通过Python Kubernetes客户端连接microk8s API?
  2. Android: Bundle机制
  3. ffmpeg与x264有什么区别?
  4. hbase查询_【从零单排HBase】HBase高性能查询揭秘
  5. android动态显示键盘,动态修改EditText输入键盘并隐藏或显示密码
  6. 单片机小白学步系列(〇)序
  7. 树莓派 无法安装mysql_树莓派安装mysql
  8. [LeetCode]819. 最常见的单词
  9. redis 一般启动几个 哨兵_redis哨兵机制讲解
  10. 2017-2018-1 20155301 实验四 外设驱动程序设计
  11. 让我们用 SQL 开发一个图形数据库吧
  12. Linux之进程通信20160720
  13. 四种电荷分布,点电荷,体电荷,面电荷,线电荷
  14. 关于暂停或终止更新的相关读书笔记
  15. mysql 类似 oracle connect by_mysql实现层级查询,相似oracle里的connect by prior
  16. 基于Vivado的程序下载
  17. VSTO之一:Word外接程序
  18. 如何获取 Boot Camp for Windows(Mac电脑装Windows后如何安装驱动)
  19. 【WP影视主题】电影下载网站WordPress主题模板源码——电影下载网站模板
  20. js 移动端的表情包

热门文章

  1. 解析PHP跳出循环的方法以及continue、break、exit的区别介绍
  2. 在数据库中outlet、code、outline为联合组件。hibarnate插入可如此插入
  3. 向左滚动,每次滚动的长度可以设置,然后暂停后继续滚动
  4. java form 上传文件_java通过表单进行文件上传的几种方法
  5. 计算机应用基础知识点提纲,计算机应用基础复习提纲
  6. linux java jar war_简单介绍Java 的JAR包、EAR包、WAR包区别
  7. 兵团职称计算机准考证查询,兵团初级会计准考证打印入口官网
  8. 注册表中shell文件不见了_win7系统注册表中的shell文件不小心被删除的解决方法...
  9. python 微信支付接口 详解_Python支付接口汇总大全(包含微信、支付宝等,长期更新、欢迎补充)...
  10. qbytearry有数据上限吗_金仕达大数据开发岗位面试题