java - day010 - 基本类型包装,自动装箱和拆箱,日期,集合
基本类型的包装类
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
Number 数字类型包装类的抽象父类
她的子类:
Byte,Short,Integer ,Long,Float,Double
BigDecimal,BigInteger
取出被封装的基本类型值
byteValue();
shortValue();
intValue();
longValue();
floatValue();
doubleValue();
Integer
创建对象;
new Integer(5);
Integer.value(5);
Integer 实例内部, 有一个Integer 实例的缓存数组,
缓存着256个 Integer 对象,
封装的数字范围-128-127
valueOf()方法,指定范围的值,
访问存在的缓存对象,指定范围外的值,
直接新建对象
方法:
字符串解析成 int
Integer.parseInt("225");
Integer.parseInt("111111",2);二进制
Integer.parseInt("377",8);8进制
进制转换:
Integer.toBinaryString(255);转换二进制;
Integer.toOctalString(255);转换8进制
Integer.toHexString(255);转换十六进制
Double
创建对象:
new Double(3.14);
Double.value(3.14);
两者没有区别
方法:
字符串解析
Double.parseDouble("3.14");
Byte.parseByte();
Short.parseShort();
Integer.parseInteger();
Long.parseLong();
Float.parseFloat();
Double.parseDouble();
Boolean.parseBoolean();
char 没有字符串解析方法,
判断浮点数特殊值
Infinity Double.IsInfinite(double d);
nan Double.isNan(double d);
自动装箱,
Integer a = 5;
自动编译为: Integer a = Integer.valueOf(5);
自动拆箱
int i = a;
自动编译为 int i = a.intValue();
a = a + 1;
a = Integer.valueOf(a.intValue()+1);
自动拆箱要当心 null
BigDecimal , BigInteger
BigDecimal 用来做精确的浮点数运算
BigInteger 来做超大的整数运算
BigDecimal
创建对象:
BigDecimal.valueOf(2);
new BigDecimal("2");
方法
add(BigDecimal); 加
subtract(BigDecimal); 减
multiply(BigDecimal); 乘
divide(BigDecimal); 除,不支持无理数(无限小数 )
bigDecimal.pow(n); 求 bigDecimal 的 n 次方
divide(BigDecimal,保留位数,舍入方式);
setScale(保留位数,舍入方式); ROUND_HALF_UP(四舍五入)
保留位数 0: 0位 , 1: 1位 , -1:10位 , -2: 100位
舍入运算,舍入结果被封装成一个新对象
位数过长可以用 toString();输出
BigInteget 超大长整型运算
Date java.util.Date
封装一个毫秒值, 标识一个具体的时间点,
标识 距离 1970年1月1号0点 的时间点
创建对象:
new Date();// 无参构造, 封装系统当前时间的毫秒值
new Date(9000000000L);// 封装指定的毫秒值
方法
getTime();
setTime();
compareTo(Date d); //当前日期 与 参数日期 比较大小
当前对象大,返回正数,否则负数,判断正负即可.0表示相同
SimpleDateFormat java.text.SimpleDateFormat
日期格式工具
把 Date 对象格式化成指定的时间格式
把时间格式字符串解析成 Date 对象
创建对象
new SimpleDateFormat(格式);
格式 yyyy-MM-dd HH:mm:ss
(大写M:月, 小写m:分,H:24小时制,h:12小时制)
例如 yy-M-d
方法
format(Date);// Date 对象 格式化成字符串
parse(String);// 日期格式字符串,解析成Date 对象
集合
数组的缺点;
长度固定
执行复杂的数据处理,繁琐
Collection 接口
| - List 接口
| - ArrayList
| - LinkedList
| - Set 接口
| - HashSet
| - TreeSet
Map 接口
| - HashMap
| - Treemap
Iterator 接口
Collections 工具类
LinkedList
双向链表 , 圈的关系,
相邻节点互相引用,首尾节点互相引用
只能访问第一位,两端效率高,越往中间效率越低
没有容量限制,但是不能超出 int 范围
方法
add(数据); // 在末尾添加数据
get(i); // 获取指定位置数据
remove(i); // 删除指定位置数据
remove(数组); // 找到第一个相等数据删除
size(); 数量
addFirst(数据);
addLast();
getFirdt();
getLast();
removeFirst();
removeLast();
iterator(); // 辅助创建迭代器对象, 对当前对象进行遍历
java - day010 - 基本类型包装,自动装箱和拆箱,日期,集合的更多相关文章
- 【转】java 自动装箱与拆箱
java 自动装箱与拆箱 这个是jdk1.5以后才引入的新的内容,作为秉承发表是最好的记忆,毅然决定还是用一篇博客来代替我的记忆: java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的 ...
- 深入剖析Java中的自动装箱和拆箱过程
深入剖析Java中的装箱和拆箱 自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题.本文先讲述装箱和拆箱最基本的东西,再来看一下面试笔试中经常遇到的与装箱 ...
- [转]JAVA自动装箱和拆箱
http://www.cnblogs.com/dolphin0520/p/3780005.html 1.Java数据类型 装箱和拆箱之前,我们先来了解一下Java的基本数据类型. 在Java中,数据类 ...
- Java进阶(三十七)java 自动装箱与拆箱
Java进阶(三十七)java 自动装箱与拆箱 前言 这个是jdk1.5以后才引入的新的内容.java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装称为装箱,解包装称为 ...
- [转]java 自动装箱与拆箱
转自:http://www.cnblogs.com/shenliang123/archive/2012/04/16/2451996.html 这个是jdk1.5以后才引入的新的内容,作为秉承发表是最好 ...
- java中的自动装箱和拆箱
一.什么是自动装箱和拆箱: 我们知道java为8种基本类型分别提供了对应的包装类型,在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行: Integer i=new I ...
- Java——Java自动装箱和拆箱
一.什么是自动装箱和拆箱: 我们知道java为8种基本类型分别提供了对应的包装类型,在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行: Integer i=new I ...
- Java中自动装箱与拆箱
一.什么是封装类? Java中存在基础数据类型,但是在某些情况下,我们要对基础数据类型进行对象的操作,例如,集合中只能存在对象,而不能存在基础数据类型,于是便出现了包装器类.包装器类型就是对基本数据类 ...
- 《Java中的自动装箱和拆箱功能.》
//Java中的自动装箱和拆箱功能. class AutoboxingUnboxing { public static void main(String[] args) { //直接把一个基本类型变量 ...
随机推荐
- Linux nohup和&后台运行,进程查看及终止,进程信息输出,控制台信息输出
nohup和&后台运行,进程查看及终止 1.nohup 用途:不挂断地运行命令. 语法:nohup Command [ Arg … ] [ & ] 无论是否将 nohup 命令的输 ...
- Laravel用户认证系统的实现细节
原文地址:http://www.php.cn/php-weizijiaocheng-406076.html 这篇文章主要介绍了关于Laravel用户认证系统的实现细节,有着一定的参考价值,现在分享给大 ...
- ThinkPHP 5 文件上传及指定宽高生成缩略图公共方法
这个是非常常用的案例,ThinkPHP 5 文件上传及指定宽高生成缩略图公共方法/** * 单文件上传 * name:表单上传文件的名字 * ext: 文件允许的后缀,字符串形式 * path:文件保 ...
- 【MM系列】SAP S/4 HANA的物料编码40位设置
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP S/4 HANA的物料编码4 ...
- 【搬运】Visual Studio vs2017 vs2019 中文离线安装包下载,替代ISO镜像
原文地址[侵删]:https://blog.csdn.net/fromfire2/article/details/81104648 以下为搬运内容: 官档地址 https://docs.microso ...
- AI新生代“教父”崛起,或成就迈向具有类人意识机器的一大步
<麻省理工科技评论>公布了 2018 年全球十大突破性技术,“对抗性神经网络”即“生成对抗网络”作为突破性人工智能技术赫然上榜.这家全球最顶级科技杂志编辑部对这项革命性技术给出的评价是:它 ...
- 强制执行父类下的__init__
两种方式: 1.super(子类,self)__init__() 2.子类.__init__(self) 推荐使用super
- mysql数据恢复,binlog详解
个人博客:mysql数据恢复,binlog详解 binlog日志恢复数据,是挽救错误操作和数据损坏一根救命稻草,所以认识和使用binglog对于技术人员还是很有必要的 binlog一般用于 主从复制 ...
- 切片(Slice)
Python提供了切片(Slice)操作符:可以一次取出多个列表元素 L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3.0可以省略:L[:3] L[:]:就是整个列表 补充: 前1 ...
- python 手机App数据抓取实战一
前言 当前手机使用成为互联网主流,每天手机App产生大量数据,学习爬虫的人也不能只会爬取网页数据,我们需要学习如何从手机 APP 中获取数据,本文就以豆果美食为例,讲诉爬取手机App的流程 环境准备 ...