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的认 ...
随机推荐
- 蓝桥杯训练赛二-1199 问题 E: 哥德巴赫曾猜测
题目描述 德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和.但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对 输入 输 ...
- 为什么要有jvm,jvm的作用?
jvm的两个作用:第一.运行并管理java源码文件所生成的Class文件.第二.在不同的操作系统上安装不同的jvm,从而去实现跨平台的一个保障. 一般情况下,即使不熟悉jvm的运行机制,也不影响业务代 ...
- django的注意事项
1 允许 0.0.0.0:8000 ALLOWED_HOSTS = ['*'] 2 py文件的import ,要新建一个文件夹 如tool,与manage.py同级 再去导入
- 一例OSS问题排查
某品牌OSS存储,使用IP+PORT可以正常访问.使用NG代理后,不论是IP还是域名访问都不支持SDK访问,但是使用S3客户端可以正常访问. 通过抓包对比发现,S3客户端如下 SDK访问抓包如下 判断 ...
- RPS网卡多队列
一体机上传1G文件导致服务器很卡,怀疑是网卡未开启多核多队列导致. 脚本如下 #!/bin/bash # Enable RPS (Receive Packet Steering) read -p &q ...
- Ubuntu16.04系统语言设置为中文以及搜狗输入法的安装
特别声明:本文是在操作完才做的记录,不是特别详细,见谅哈! 虚拟机安装的Ubuntu16.04结果语言设置只有英文...起初没啥影响,后来发现自己的脚本注释显示全乱码,而且直接影响脚本运行(其实可能是 ...
- C语言printf输出32位十六进制
long c = 0X1DAB83; //十六进制数字 printf("c=%lx\n", c); //以十六进制形式输出(字母小写) printf("c=%lX\n&q ...
- MySQL日常工具的安装
安装PT工具 #安装依赖 yum -y install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-Digest-M ...
- 【C学习笔记】day1-2 输出乘法口诀表
#include<stdio.h> int main() { for (int m = 1; m <= 9; m++) for (int n = 1; n <= m; n++) ...
- 访问修饰符 protected(s)
protected 受保护的:可以在当前类的内部以及该类的子类中可以访问. using System; using System.Collections.Generic; using System.L ...