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 ...
随机推荐
- java中路径的问题
在java中,涉及路径的问题有很多,不管在windows还是linux系统中,不要纠结”/“分隔符的使用,在windows系统中,资源加载器会自动的将”/“转换成”\“. 在java中获取资源的方式有 ...
- TOMCAT中文信息乱码改为GBK
# Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements ...
- 排序算法之插入排序的python实现
插入排序的工作原理如下: (1)从数组第一个元素开始(0下标),从该元素开始进行构建有序序列: (2)取出待排序列中第一个元素,然后从“有序”序列中,从后往前扫描: (3)如果该元素(有序序列)大于待 ...
- idea 创建maven子父工程
1.创建maven工程: 2. 创建工程名称: 3.删除父工程下的src文件夹,指定打包方式为pom,添加maven依赖: 4.右键项目添加子工程: 5.添加子工程名称: 6.子工程创建成功: 7.依 ...
- 关于OSPF LSA不稳定!
Issue 1 Solution It is important that you understand the error message during attempts to troublesho ...
- WLC-生成CSR操作
1.生成CSR [req]req_extensions = v3_req[ v3_req ]# Extensions to add to a certificate requestbasicConst ...
- LeetCode 234. Palindrome Linked List(判断是否为回文链表)
题意:判断是否为回文链表,要求时间复杂度O(n),空间复杂度O(1). 分析: (1)利用快慢指针找到链表的中心 (2)进行步骤(1)的过程中,对前半部分链表进行反转 (3)如果链表长是偶数,首先比较 ...
- docker运行安装mysql postgres
安装mysql [root@host1 ~]# docker images -a REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/mysql 5.7 4d ...
- Laravel 6.X 数据库迁移 创建表 与 修改表
数据库迁移创建表 本篇文章中使用的是mysql数据库,其他数据库需要修改env文件和app配置,请其他地方搜索一下就会找到. 创建示例 1.创建users表: 命令行键入 php artisan ma ...
- 标定设备自动化-ASAP3
欢迎关注<汽车软件技术>公众号,回复关键字获取资料. 1.ASAP3定义 下图选自INCA文档<INCA_IF_ASAM-ASAP3_EN.pdf>说明了ASAP3的用途:标定 ...