Object类、日期时间类、system类及StringBuilder字符串容器
一、Object类常用API
1.1 概述
1.2 toString方法
public String toString() //返回值为 对象的类型+@+内存地址值
class Demo{
private String name;
private int age;
@Override
public String toString() {
return "Demo{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
1.3 equals方法
public boolean equals(Object obj) //默认比较的是对象的内存地址,只要不是同一个对象必然是false
覆写equals方法,使其比较对象内容是否完全相同。在IntelliJ IDEA中,可以使用快捷键alt+insert,并选择equals() and hashCode()进行自动代码生成。
public class ObjectDemo01 {
private String name;
private int age;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof ObjectDemo01)) return false;
ObjectDemo01 that = (ObjectDemo01) o;
return getAge() == that.getAge() &&
Objects.equals(getName(), that.getName());
}
}
二、日期时间类
2.1 Date类
System.out.println(new Date()); //返回值:Tue Nov 26 23:02:07 CST 2019
2.2 DateFormat类
Date date01 = new Date();
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str01 = format.format(date01);
System.out.println(str01);
parse:将字符串解析为Date对象
DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
String str02 = "2018年12月11日";
Date date02 = df.parse(str02);
System.out.println(date02);
2.3 Calendar类
1、年月日时分秒的获取
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
int hourOfDay = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
System.out.print(year + "年" + month + "月" + dayOfMonth + "日" + hourOfDay + "时" + minute + "分" + second + "秒");
}
2、日期推算
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
int year1 = cal.get(Calendar.YEAR);
int month1 = cal.get(Calendar.MONTH) + 1;
int dayOfMonth1 = cal.get(Calendar.DAY_OF_MONTH);
System.out.println(year1 + "年" + month1 + "月" + dayOfMonth1 + "日");
// 使用add方法
cal.add(Calendar.DAY_OF_MONTH, 2); // 加2天
cal.add(Calendar.YEAR, -70); // 减3年
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "年" + month + "月" + dayOfMonth + "日");
}
3、获取Date对象
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
System.out.println(date);
三、System类
3.1 时间差计算
long start = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
System.out.println(i);
}
long end = System.currentTimeMillis();
System.out.println("共耗时毫秒:" + (end - start));
四、StringBuilder类
4.1 字符串拼接
// 新建StringBuilder。初始值可有可无
StringBuilder sb = new StringBuilder("itcast|||");
// public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身
StringBuilder sbn = sb.append("hello,").append("world!").append(true).append(100);
// public String toString():将当前StringBuilder对象转换为String对象
String str = sbn.toString();
System.out.println(str);
Object类、日期时间类、system类及StringBuilder字符串容器的更多相关文章
- Java日期时间实用工具类
Java日期时间实用工具类 1.Date (java.util.Date) Date(); 以当前时间构造一个Date对象 Date(long); 构造函数 ...
- Java关于日期时间的工具类
import java.sql.Timestamp; import java.text.ParseException; import java.text.ParsePosition; import j ...
- 08 正则表达式,Math类,Random,System类,BigInteger,BigDecimal,Date,DateFormat,Calendar
正则表达式: 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. public class Demo2_Regex { public sta ...
- 常用类一一时间处理相关类一一java.util.Tomezone(java.util.Calendar , java.util.Date , java.text.DateFormat)
时间处理相关类 时间是一个一维的东东.所以,我们需要一把刻度尺来区表达和度量时间.在计算机世界,我们把1970 年 1 月 1 日 00:00:00定为基准时间,每个度量单位是毫秒(1秒的千分之一). ...
- 使用 Date 和 SimpleDateFormat 类表示时间、Calendar类和Math类
一. Date 和 SimpleDateFormat类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取当 ...
- Object类.时间日期类.System类.Stringbuilder类.包装类
Object类 java.lang.Object类是java语言中的根类,即所有类的父类.它中描述的所有方法都可以使用.在对象实例化的时候,最终找的父类就是Object. 如果一个类没有特别指定父类, ...
- java 数据结构(三):java常用类 三 日期时间API
JDK 8之前日期时间API 1.获取系统当前时间:System类中的currentTimeMillis()long time = System.currentTimeMillis();//返回当前时 ...
- Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类
因为Jdk7及以前的日期时间类的不方便使用问题和线程安全问题等问题,2005年,Stephen Colebourne创建了Joda-Time库,作为替代的日期和时间API.Stephen向JCP提交了 ...
- 处理时间的类 —— System类、Date类 、SimpleDateFormat类 与 Calendar类
在我们以往的编程中,就有过通过运行前和运行后时间差来判断时间复杂度的例子,再扯得远一点,我们在C语言中制造随机数的操作,也要用到有关时间的函数.而且,在我们未来的编程中,也会时不时要用到能够读取当前时 ...
随机推荐
- 深入JVM内存区域管理,值得你收藏
JDK和JRE和JVM的关系 JDK(Java Development Kit)是程序开发者用来来编译.调试java程序用的开发工具包 JRE(JavaRuntimeEnvironment,Java运 ...
- MyBatis基础_连接池与事务、动态SQL、注解开发
一.MyBatis连接池及事务控制 1.连接池 在实际开发中,都会使用连接池,因为它可以减少获取连接缩消耗的时间.所谓连接池,就是存储数据库连接的容器.连接池中存储一定数量的数据库连接,当线程需要使用 ...
- Centos7桥接设置网络并使用xrdp+tigervnc实现桌面远程访问
最近用到了虚拟机,之前虚拟机的网络配置使用的NAT配置好了,但是无论怎样设置都无法使用局域网内的其它主机访问虚拟机的服务.经过了一天的折腾,远程主机仍然连接不上虚拟机服务,后来找到原因,NAT连接模式 ...
- 一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具
一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具 Intro DbTool 是一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具,原本 ...
- LintCode 433. 岛屿的个数(Number of Islands)
LintCode 433. 岛屿的个数(Number of Islands) 代码: class Solution: """ @param grid: a boolean ...
- CCF_ 201412-1_门禁系统
水. #include<iostream> #include<cstdio> using namespace std; int main() { ],num[] = {}; c ...
- ant编译solr源码生成eclipse项目,解决一直resolve,一直[ivy:retrieve]的问题
这两天在学习solr,结果刚到编译solr源码就卡住了,足足卡了两天,网上找各种解决办法都是简单带过,说是缺少jar包,下载下来放到对应位置就好了....对应位置???咋不说这个问题用相应方法解决即可 ...
- mybaits分页插件的使用
1.导入依赖坐标 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>p ...
- 「硬核干货」总结IDEA开发的26个常用设置
前言 程序员对待IDE都是虔诚的,经常因为谁是最好的IDE而在江湖上掀起波澜,曾经我也是. 后来我遇到了IDEA,从此是它,余生都是它. IDEA 毫无疑问是目前最强大的Java开发工具了,但是大部分 ...
- Linux相关知识笔记
Quagga要在linux下编译并配置运行,所有,学习一点linux的基础知识. 安装的Ubuntu,用户名linux,密码1 使能Ubuntu的IP转发功能,需要修改etc/sysctl.conf和 ...