共计 4651 个字符,预计需要花费 12 分钟才能阅读完成。
API 概述
概述
API(Application Programming Interface) 应用程序编程接口。Java API 对于程序员来说就是一本能够检索查找的【字典】,是 JDK 官网提供给程序开发者应用类的阐明文档。这些类将底层的代码封装起来,咱们不须要关注这些类底层是如何实现的,咱们只须要晓得这些类是如何应用的。平时开发应用 JDK 类库的时候,通过查阅 API 的形式进行的。
API 的应用步骤
关上帮忙文档
点击显示,找到索引,找到输入框
在输入框中输出你要查找的类,而后回车
看该类的所在包,对于 java.lang 包上面的类不须要导包,其余都须要
看该类的解释阐明和类构造
学习该类的构造方法和成员办法
Java 的罕用 API
Object 类
1.toString 办法
在咱们间接应用输入语句输入对象的时候,其实通过该对象调用了其 toString()办法。
2.equals 办法
办法摘要:
类默认继承了 Object 类,所以能够应用 Object 类的 equals 办法
boolean equals(Object obj) 批示其余某个对象是否与此对象“相等”。
equalse 办法源码:public boolean equals(Object obj){return (this == obj);
}</pre>
参数:
- Object obj: 能够传递任意的对象
- == 比拟运算符,返回的是一个布尔值 true false
- 根本数据类型:比拟的是值
- 援用数据类型:计较的是两个对象的地址值
Data 类
java.util.Date: 示意 日期和工夫 的类
类 Date 示意 特定的霎时,准确到毫秒。
毫秒:千分之一秒 1000 毫秒 = 1 秒
把日期转换成毫秒:
- 以后的日期:2019-07-18
- 工夫原点(0 毫秒):1970-01-01 00:00:00(英国格林威治)
- 就是计算以后日期到工夫原点之间一共经验了多少毫秒
留神:
中国属于东八区,会把工夫 减少 8 个小时
- 1970-01-01 08:00:00
把毫秒转换为日期:
- 1 天 = 246060 = 86400 秒 = 86400*1000=86400000 毫秒
应用:
Date 类的带参数构造方法
Date date = new Date();
Date();// 获取以后零碎的工夫和日期
--------- Date date = new Date(0L);
Date(long date);// 传递毫秒值,把毫秒值转化成 Date 日期
----------- Date date = new Date();
long time = date.getTime();
long getTime() 把日期转换成毫秒 (相当于 System.currentTimeMillis() 办法)
返回自 1970 年 1 月 1 日 00-00-00GMT 以来此 Date 对象示意的毫秒数。
DateFormat 类
java.text.DateFormat: 是 日期 / 工夫格式化 子类的抽象类
作用:
- 格式化(也就是日期 -> 文本),解析(文本 -> 日期)
成员办法:
- String format(Date date) 依照指定的模式,把 Date 日期,格式化为合乎模式的字符串
- Date parse(String source) 把合乎模式的字符串,解析为 Date 日期
- DateFormat 类是一个抽象类,无奈间接创建对象应用,能够应用 DateFormat 类的子类
<pre style=”margin: 0px; padding: 0px; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;”>java.text.SimpleDateFormat extends DateFormat</pre>
应用 DateFormat 类中的 办法 format,把日期格式化为文本
应用步骤:
- 创立 simpleDateFormat 对象,构造方法中传递指定的模式
- 调用 SimpleDateFormat 对象中的办法 format,依照构造方法指定的模式,把 Date 日期格式化为合乎模式的字符串(文本)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒");
Date date = new Date();
String d = sdf.format(date);
Calendar 类
介绍:
java.util.Calendar 类;日历类
- Calendar 类是一个抽象类,里边提供了很多操作日历字段的办法(YEAR、MONTH、DAY_OF_MONTH、HOUR)
- Calendar 类无奈间接创建对象应用,里边有一个静态方法叫 getInstance(), 该办法返回了 Calendar 类的子类对象
- static Calendar getInstance() 应用默认时区和语言环境取得一个日历。
Calendar c = Calendar.getInstance();// 多态
Calendar 类的 罕用成员办法:
- public int get(int field); 返回给定日历字段的值。
- public void set(int field,int value); 将给定的日历字段设置为给定值
- public abstract void add(int field, int amount); 依据日历的规定,为给定的日历字段增加或减去指定的工夫量。
- public Data getTime(); 返回一个示意次 Calendar 工夫值(从历元到当初的毫秒偏移量)的 Date 对象。
public int get(int field); 返回给定日历字段的值。Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
///public void set(int field,int value); 将给定的日历字段设置为给定值 // 设置年为 9999 // 设置月为 9 月
c.set(Calendar.YEAR,9999);
c.set(Calendar.MONTH,9); // 减少年
c.add(Calendar.YEAR,2); // 把日历对象,转换为日期对象
Date date=c.getTime();
Syetem 类
java.lang.System 类中提供了大量的静态方法,能够获取与零碎相干的信息或零碎级操作,在 System 类的 API 文档中,罕用的办法有;
- public static long currentTimeMillis();返回以毫秒为单位的以后工夫。
- public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int Length); 将数组中指定的数据拷贝到另一个数组中。
参数:
- src – 源数据
- srcPos – 源数据中的起始地位(起始索引)。
- dest – 指标数组。
- destPos – 指标数据中的起始地位
- Length – 要复制的数组元素的数量。
StringBuilder 类
StringBuilder 类
字符串缓冲区 ,能够进步字符串的操作效率(看成一个 长度能够变动 的字符串)
底层也是一个数组,然而没有被 final 润饰,能够扭转长度
byte[] value = new byte[16];
StringBuilder 在内存中始终是一个 数组 ,占用空间少,效率高
如果超出了 StringBuilder 的容量,会主动的扩大。
比拟与:String 类
字符串是 常量 ;它们的值在创立之后 不能更改。
字符串的底层是一个被final 润饰的数组,不能扭转,是一个常量
private final byte[] value;
进行字符串的相加,内存中就会有多少个字符串,占用空间多 ,效率低下
java.lang.StringBuilder 类:字符串缓冲区 ,能够进步字符串的效率
构造方法:
- StringBuilder()结构一个不带任何字符的字符串生成器,其初始容量为 16 个字符。
- StringBuilder(String str) 结构一个字符串生成器,并初始化为指定的字符串内容。
StringBuilder 的罕用办法:
- public StringBuilder append(…): 增加任意类型数据的字符串模式,并返回以后对象本身。
StringBuilder 和 String 能够互相转换;
- String -> StringBuilder: 能够应用 StringBuilder 的构造方法
- StringBuilder(String str)
- StringBuilder-> String: 能够应用 StringBuilder 中的 toString 办法
- public String toString();
包装类
包装类:
根本数据类型,应用起来十分不便,然而没有对应的办法来操作这些根本类型的数据
能够应用一个类,把根本类型的数据装起来,在类中定义一些办法,这个类叫做包装类,
咱们能够应用类中的办法来操作这些根本类型的数据。
装箱:把根本类型的数据,包装到包装类中(根本类型的数据 -> 包装类)
构造方法:
- Integer(int value)结构一个新调配的 Integer 对象,它示意指定的 int 值。
- Integer(String s)结构一个新调配的 Integer 对象,它示意 String 参数所批示的 int 值。
传递的字符串,必须是 根本类型的字符串 ,否则会抛出异样 ”100″ 正确 “a” 抛异样
静态方法:
- static Integer valueOf(int i)返回一个示意指定的 int 值的 Integer 实例。
- static Integer valueOf(String s)返回保留指定的 String 的值的 Integer 对象。
拆箱:在包装类中取出根本类型的数据(包装类 -> 根本类型的数据)
成员办法:
- int intValue()以 int 类型返回该 Integer 的值。
主动装箱和主动拆箱:根本类型的数据和包装类之间能够主动的互相转换
JDK1.5 之后呈现的新个性
主动装箱:间接把 int 类型的整数赋值包装类
- Integer in = 1;就相当于 Integer in = new Integer(1);
主动拆箱:in 是包装类,无奈直接参与运算,能够主动转换为根本数据类型,在进行计算
- int + 2; 就相当于 in.inVale() + 2=3
in = in.intVale() + 2 = 3 又是一个主动装箱
留神:
- ArrayList 汇合无奈间接存储整数,能够存储 Integer 包装类
- list.add(1);–> 主动装箱 list.add(new Integer(1));
- int a = list.get(0);//–> 主动拆箱 list.get(0).intValue();
根本类型与字符串类型之间的互相转换
根本类型 -> 字符串(String)
1. 根本类型的值 +”” 最简略的办法(工作中罕用)
2. 包装类的静态方法toString(参数),是 Object 类的 toString() 重载
- static String toString(int i):返回一个示意指定整数的 String 对象。
3.String 类的静态方法valueOf(参数)
- static String valueOf(int i):返回 int 参数的字符串示意模式。
字符串 (String)-> 根本类型
应用包装类的静态方法 parseXXX(“ 字符串 ”);
- Integer 类:static int parseInt(String s)
- Double 类:static double parseDouble(String s)