Java连载78-深入自动拆装箱、Date类和SimpleDateFormat格式化
一、深入自动拆装箱
1.直接举例:
public class D78_AutomaticUnpackingAndPacking{
public static void main(String[] args){
Integer i1 = new Integer(10);
Integer i2 = new Integer(10);
//这里不会自动进行拆箱
System.out.println(i1==i2);//false
//比较两个Integer类型的数据是否相等,不能用“=="
//Integer已经重写了Object中的equals方法
System.out.println(i1.equals(i2));//true
//重点:
Integer i3 = 128;
Integer i4 = 128;
//上面的等同于:
//Integer i3 = new Integer(128);
//Integer i4 = new Integer(128);
System.out.println(i3==i4);//false
Integer i5 = 127;//这条语句直接在方法区的整形常量池中拿来,不会再堆内存中创建这个对象
Integer i6 = 127;
System.out.println(i5==i6);//true
Integer i5 = -128;
Integer i6 = -128;
System.out.println(i5==i6);//true
Integer i5 = -129;
Integer i6 = -129;
System.out.println(i5==i6);//false
//如果数据是在-128到127之间,java中引入了”整形常量池“(可以类比字符串常量池)
String s1 = "ab";
String s2 = "ab";
System.out.println(s1==s2);//true,原因就是字符串常量池
}
}
二、日期相关的操作
1.获取当前时间
java.util.Date
import java.util.Date;
import java.text.SimpleDateFormat;
public class D78_2_{
public static void main(String[] args) throws Exception{
//之所以要抛出异常,是因为String转换为Date的时候容易报错
//获取自1970年1月1日 00时00分00秒000毫秒到当前的毫秒数
//1000毫秒等于一秒
long now = System.currentTimeMillis();
System.out.println(now);//1245839589
//获取系统当前时间
Date nowTime = new Date();
System.out.println(nowTime);//Tue Jan 30 23:21:23 CST 2020
//以上程序说明java.util.Date;已经重写了Object中的toString方法
//只不过重写的结果对于中国人来讲不是很容易理解
//java.util.Date;-->String
/*
*日期格式:
*y 年 M 月 d 日 H 小时 m 分 s 秒 S 毫秒
*/
//创建日期格式化对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss SSS");
//开始格式化(Date-->String)
String strTime = sdf.format(nowTime)//2020年01月30日 23:29:12 567
/*
*获取特定的日期
*/
String strTime2 = "2008年08月8日 08:08:08 888";
//将String日期转换为类型Date
//String-->Date
//1.创建日期格式化对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss SSS");
//不能随意指定格式,应该和要解析的字符串的类型格式相对应
Date t1 = sdf.parse(strTime);
System.out.println(t1);
}
}
三、源码:
D78_1_AutomaticUnpackingAndPacking.java
D78_2_TimeMethodAnalysis.java
https://github.com/ruigege66/Java/blob/master/D78_1_AutomaticUnpackingAndPacking.java
https://github.com/ruigege66/Java/blob/master/D78_2_TimeMethodAnalysis.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
Java连载78-深入自动拆装箱、Date类和SimpleDateFormat格式化的更多相关文章
- java的数据类型、自动拆装箱、字面量
java 中的数据类型分为两大类:值类型(基本数据类型)和引用类型(复合数据类型) 值类型分为 1,整数类型(byte,short,int,long) 2,浮点类型(float,double) 3, ...
- 《java入门第一季》之Integer类和自动拆装箱概述
/ * int 仅仅是一个基本类型.int有对应的类类型,那就是Integer. * 为了对基本数据类型进行更多的操作,更方便的操作,Java就针对每一种基本数据类型提供了对应的类类型--包装类类型 ...
- Java的自动拆/装箱
作者:Alvin 关键字:语法糖 类 对象 参考 Java 中的语法糖 语法糖--这一篇全了解 浅谈 Integer 类 什么是Java中的自动拆装箱 深入剖析Java中的装箱和拆箱 前言 我们知道, ...
- 一文读懂什么是Java中的自动拆装箱
基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我们编程中使用最频繁的类型. Java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为 ...
- Java枚举、静态导入、自动拆装箱、增强for循环、可变参数
一.枚举简介 1.什么是枚举? 需要在一定范围内取值,这个值只能是这个范围内中的任意一个 现实场景:交通信号灯,有三种颜色,但是每次只能亮三种颜色里面的任意一个 2.使用一个关键字 enum enum ...
- Java之自动拆装箱
顾名思义,自动拆装箱就是将基本类型和包装类进行自动的互相转换. JDK5.0后,将自动装箱/拆箱引Java中. 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中 ...
- 静态导入方法即自动拆装箱(java)
package example6;import static java.lang.System.out;import static java.util.Arrays.sort;import java. ...
- Java基础(二) 基本类型数据类型、包装类及自动拆装箱
我们知道基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, Long ...
- Java的自动拆装箱与Integer的缓存机制
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10832303.html 一:基本类型与包装类型 我们知道,Java有8大基本数据类型,4整2浮1符1 ...
随机推荐
- 在IDEA离线安装lombok插件
1.打开,找到自己IDEA版本,idea http://plugins.jetbrains.com/plugin/6317-lombok/versions 2.下载,导入安装
- springboot 服务卡死 连接池查询无响应问题解决
排查背景:基于nacos + springboot + druid +mybatis + mysql的环境,服务突然就出现不可访问,所有连接都超时,重启就可以使用一会,过一会就又不可用了 排查出来的原 ...
- 【C语言】极坐标转换为直角坐标
写一个程序把极坐标(r,θ) (θ之单位为度)转换为直角坐标( X,Y). 转换公式是x=r.cosθ y=r.sinθ 程序输出:输出转换后的坐标. 弧度和角度的换算关系如下: 1弧度=180/π度 ...
- 最长递增子序列-Hdu 1257
最少拦截系统 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- 排序算法之冒泡排序的python实现
冒泡排序算法的工作原理如下: 1. 比较相邻的元素.如果第一个比第二个大(升序),就交换他们两个. 2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.这步做完后,最后的元素会是最大 ...
- [SUCTF 2019]Pythonginx
贴出源码 @app.route('/getUrl', methods=['GET', 'POST']) def getUrl(): url = request.args.get("url&q ...
- Ubuntu系统中创建虚拟环境
1.虚拟环境产生的原因:如果在一台电脑上, 想开发多个不同的项目, 需要用到同一个包的不同版本, 如果使用上面的命令, 在同一个目录下安装或者更新, 新版本会覆盖以前的版本, 其它的项目就无法运行了. ...
- java 责任链模式的三种实现
责任链模式 责任链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系, 将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止.这里就不再过多的介绍什么 ...
- 25 JavaScript对象原型&ES5新的对象方法
JavaScript对象原型 所有JavaScript对象都从原型继承对象和方法 日期对象继承自Date.prototype,数组继承自Array.prototype,对象构造器新建的对象Person ...
- 吴裕雄--天生自然Numpy库学习笔记:NumPy 切片和索引
ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组. import ...