05.常用 API 第二部分
一、Object 类
- 是类层次结构的根 (父) 类。
- String toString ()
- 返回该对象的字符串表示,其实该字符串内容就是对象的类型 + @ + 内存地址值。
- 由于 toString 方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。
- 返回该对象的字符串表示,其实该字符串内容就是对象的类型 + @ + 内存地址值。
- boolean equals ( Object anthoerObject)
- 判断某个对象是否与此对象 "相等"。
- 这里的 "相等" 有默认和自定义两种方式。
- 默认地址比较
- 如果没有覆盖重写 equals 方法,那么 Object 类中默认进行
==运算符的对象地址比较,只要不是同一个对象,结果必然为 false。
- 如果没有覆盖重写 equals 方法,那么 Object 类中默认进行
- 对象内容比较
- 如果希望进行对象的内容比较,即所有或指定的部分成员变量相同就判定两个对象相同,则可以覆盖重写 equals 方法。
- 默认地址比较
- 这里的 "相等" 有默认和自定义两种方式。
- 判断某个对象是否与此对象 "相等"。
- Objects 类
- 在 JDK7 添加了一个 Objects 工具类,它提供了一些方法来操作对象,它由一些静态的实用方法组成,这些方法是 null-save(空指针安全的)或 null-tolerant(容忍空指针的),用于计算对象的 hashcode、返回对象的字符串表示形式、比较两个对象。
- 在比较两个对象的时候,Object 的 equals 方法容易抛出空指针异常,而 Objects 类中的 equals 方法就优化了这个问题。方法如下
- static boolean equals (Object a ,Object b)
- 源码
- public static boolean equals(Object a, Object b) {
- return (a == b) || (a ! = null && a.equals( b ));
- }
- public static boolean equals(Object a, Object b) {
- 源码
- static boolean equals (Object a ,Object b)
二、日期时间类
- Date 类
- 表示特定的瞬间,精确到毫秒。
- 构造方法
- Date()
- 获取当前系统的日期和时间。
- Date(long date)
- 传递毫秒值,把毫秒值转换为 Date 日期。
- 由于我们处于东八区,所以我们的基准时间为1970年1月1日8时0分0秒。
- 传递毫秒值,把毫秒值转换为 Date 日期。
- Date()
- 成员方法
- long getTime()
- 把日期对象转换成对应的时间毫秒值。
- long getTime()
- DateFormat 类
- 日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在 Date 对象与 String 对象之间进行来回转换。
- 格式化:按照指定的格式,从 Date 对象转换为 String 对象。
- 解析:按照指定的格式,从 String 对象转换为 Date 对象。
- DateFormat 为抽象类,不能直接使用,经常使用它的子类:SimpleDateFormat。
- SimpleDateFormat
- 这个类需要一个模式(格式)来指定格式化或解析的标准。
- 构造方法
- SimpleDateFormat(String pattern)
- 参数 pattern 是一个字符串,代表日期时间的自定义格式。
- y:年
- M:月
- d:日
- H:时
- m:分
- s:秒
- 举例
- "yyyy-MM-dd HH:mm:ss"
- 参数 pattern 是一个字符串,代表日期时间的自定义格式。
- SimpleDateFormat(String pattern)
- 构造方法
- 成员方法
- String format(Date date)
- 将 Date 对象格式化为字符串。
- Date parse(String str)
- 将字符串解析为 Date 对象。
- String format(Date date)
- 这个类需要一个模式(格式)来指定格式化或解析的标准。
- 日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在 Date 对象与 String 对象之间进行来回转换。
- Calendar 类
- 日历类,替换掉了许多 Date 的方法,该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。
- 是抽象类。
- 如何创建
- 通过静态方法创建,返回子类对象(多态)。
- public static Calendar getInstance()
- 使用默认时区和语言环境获得一个日历。
- public static Calendar getInstance()
- 通过静态方法创建,返回子类对象(多态)。
- 成员方法
- int get(int field)
- 返回给定日历字段的值。
- void set(int field, int value)
- 将给定的日历字段设置为给定值。
- abstract void add(int field, int amount)
- 根据日历的规则,为给定的日历字段添加或减去指定的时间量。
- int field:传递指定的日历字段(YEAR,MONTH...)
- int amount:增加/减少指定的值
- 正数:增加
- 负数:减少
- 根据日历的规则,为给定的日历字段添加或减去指定的时间量。
- Date getTime()
- 返回一个表示此 Calendar 时间值(从历元到现在的毫秒偏移量)的 Date 对象。
- int get(int field)
- 成员方法的参数
- int field:日历类的字段,可以使用 Calendar 类的静态成员变量获取。
- public static final int YEAR = 1; 年
- public static final int MONTH = 2; 月
- public static final int DATE = 5; 月中的某一天
- public static final int DAY_OF_MONTH = 5; 月中的某一天
- public static final int HOUR = 10; 时
- public static final int MINUTE = 12; 分
- public static final int SECOND = 13; 秒
- int field:日历类的字段,可以使用 Calendar 类的静态成员变量获取。
三、System 类
- 类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作。
- 静态方法
- public static long currentTimeMillis()
- 返回以毫秒为单位的当前时间。
- public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
- 将数组中指定的数据拷贝到另一个数组中。
- src - 源数组。
- srcPos - 源数组中的起始位置(起始索引)。
- dest - 目标数组。
- destPos - 目标数据中的起始位置。
- length - 要复制的数组元素的数量。
- public static long currentTimeMillis()
- 静态方法
四、StringBuilder 类
- 可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。
- 是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。
- 进行字符串拼接时,直接在数组中加入新内容。StringBuilder会自动维护数组的扩容。
- 线程不安全。
- 构造方法
- StringBuilder()
- 构造一个不带任何字符的字符串生成器,其初始容量为 16 个字符。
- StringBuilder(String str)
- 构造一个字符串生成器,并初始化为指定的字符串内容。
- StringBuilder()
- 成员方法
- StringBuilder append(...)
- 添加任意类型数据的字符串形式,并返回当前对象自身。
- 返回的是 this,调用方法的对象。
- 使用 append 方法无需接收返回值。
- 链式编程:方法返回值是一个对象,可以继续调用方法
- 添加任意类型数据的字符串形式,并返回当前对象自身。
- String toString()
- 将当前 StringBuilder 对象转换为 String 对象。
- 通过此方法和StringBuilder(String str)构造方法实现 StringBuilder 和 String 间的转换。
- 将当前 StringBuilder 对象转换为 String 对象。
- StringBuilder append(...)
五、包装类
- Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类。
- 装箱:从基本类型转换为对应的包装类对象。
- 拆箱:从包装类对象转换为对应的基本类型。
- 从Java 5(JDK 1.5)开始,基本类型与包装类的装箱、拆箱动作可以自动完成。
- 基本类型与字符串类型之间的相互转换
- 基本类型 -> 字符串( String )
- 基本类型的值 + "" ,最简单的方法(工作中常用)。
- 包装类的静态方法 toString(参数),注意不是Object类的 toString() 重载。
- static String toString(int i)
- 返回一个表示指定整数的 String 对象。
- static String toString(int i)
- String 类的静态方法 valueOf(参数)。
- static String valueOf(int i)
- 返回 int 参数的字符串表示形式。
- static String valueOf(int i)
- 字符串( String ) -> 基本类型
- 使用包装类的静态方法 parseXXX("字符串")。
- Integer 类: static int parseInt(String s)
- Double 类: static double parseDouble(String s)
- 使用包装类的静态方法 parseXXX("字符串")。
- 基本类型 -> 字符串( String )
六、05.常用 API 第二部分完结
05.常用 API 第二部分的更多相关文章
- Java 常用API (第二部分)
常用api第二部分 Date 类 import java.util.Date; 时间原点: 1970-01-01 00:00:00(英国格林威治) 中国属于东八区, 会把时间增加 8 个小时: 197 ...
- 01 语言基础+高级:1-5 常用API第二部分_day01.【Object类、常用API: Date类、System类、StringBuilder类】
day01[Object类.常用API] 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 StringBuilder类 包装类 java.lang.O ...
- java基础3.0:Java常用API
本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...
- node.js整理 02文件操作-常用API
NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync ...
- javascript 常用api
常用API合集 来源于:https://www.kancloud.cn/dennis/tgjavascript/241852 一.节点 1.1 节点属性 Node.nodeName //返回节点名称, ...
- Java map 详解 - 用法、遍历、排序、常用API等
尊重原创: http://www.cnblogs.com/lzq198754/p/5780165.html 概要: java.util 中的集合类包含 Java 中某些最常用的类.最常用的集合类是 L ...
- java常用API的总结(1)
本篇是对于这一段时间以来接触到的常用api的一些总结,便于以后的查阅.... 一.正则表达式 对于正则表达式,我的感觉就是当我们在做某些题的时候正则表达式会省去我们很多的时间,并且正则表达式的使用格式 ...
- [转] Immutable 常用API简介
本文主要整理了Immutable.js常用API的使用. Immutable 是什么? 关于Immutable的定义,官方文档是这样说的: Immutable data encourages pure ...
- 转:drupal常用api
drupal常用api 最短的函数 // 语言字串,除了可以获取对应语言外,还可以设置字串变量.可以是!var, @var或 %var,%var就添加元素外层.@var会过滤HTML,!var会原 ...
- 【repost】Javascript操作DOM常用API总结
Javascript操作DOM常用API总结 文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认 ...
随机推荐
- GuzzleHttp示例
一般请求 $httpClient = new Client([ 'timeout' => 5 ]); $request = $httpClient->post("http://l ...
- How to Avoid Trivial Solutions in Physics-Informed Neural Networks
未发表(2021) 本文也是关注采样点的一篇工作.主要从PINN的性能与采样点数量的关系方面入手考虑.提出了一个新的惩罚项,并对采样策略提出了一点看法. 本文的工作相对比较直观,简单,效果可能并不是很 ...
- android studio 导出 release aar
- go 更新依赖库到最新版本
go 怎么更新依赖库到最新版本 遇到这么一个问题:我自己的一个程序依赖自己写的一个库,然后修改了库,程序这边想要更新库,却怎么也更新不上 删除mod.sum文件里相关库的信息 使用find / -na ...
- unity 调试 packages
package中代码vs无法f12跳转 解决方法 1 把包copy出来 2 Package Manager->Add package from disk 3 选择包文件中的package.jso ...
- maridb数据库表及字段增删改
mariadb数据类型 mariadb数据类型分为数字.日期.时间以及字符串值. 适用类型原则:够用就行,尽量使用范围小的,而不用大的 常用数据类型: 1.整数 int,bit #例如 年纪 适用 ...
- /etc/login.defs 创建用户的默认设置文件
/etc/login.defs 文件用于在创建用户时,对用户的一些基本属性做默认设置,例如指定用户 UID 和 GID 的范围,用户的过期时间,密码的最大长度,等等.需要注意的是,该文件的用户默认配置 ...
- 01.BeanFactory实现
/** beanFactory 不会做的事:* 1.不会主动调用BeanFactory 后处理器* 2.不会主动添加Bean后处理器* 3.不会主动初始化单例(懒加载)* 4.不会解析beanFact ...
- 2019-2020-1 20199318《Linux内核原理与分析》第十二周作业
<Linux内核原理与分析> 第十二周作业 一.预备知识 Set-UID 是 Unix 系统中的一个重要的安全机制.当一个 Set-UID 程序运行的时候,它被假设为具有拥有者的权限.例如 ...
- ASP.NET Core3.1 中使用MongoDB基本操作
1.安装驱动包 install-package MongoDB.Driver -version 2.11.7 2.配置文件帮助类 ConfigHelper public static class Co ...