常用API
Object类
jvm启动,默认导入的是java.lang包中的内容,该包下的内容不需要import进行导入。
概念
- 该类是java体系中的根类,所有对象都将该类作为直接或者间接父类
所有对象包括数组都继承了该类中的方法
构造方法:
- Object() :该方法中没有super()语句了。
方法
-
boolean equals(Object obj)
-
比较两个对象的地址值是否相同
-
该方法比较的是地址值,没有实际意义,通常会将该方法进行重写,比较有意义数据,通常是类中属性的比较。
-
== 和 equals区别:
-
==
- 可以比较基本··类型也可以比较引用类型
- 比较基本类型: 比较是数值是否相同
- 比较引用类型: 比较是的地址值
-
equals
- 只能进行引用类型的比较,比较是地址值
- 通常会重写,比较属性
-
-
-
int hashCode() :返回对象的哈希码值
- 每创建一个对象,该对象都会有一个哈希值存在,默认不同对象(object类中的equals)哈希值不同,但是可以通过重写hashCode方法,让不同对象有相同的哈希值。因此该方法是不能判断是否是同一对象的。如果是同一对象的,哈希值一定相同。
-
String toString() :返回对象的字符串表示
String类
概述
-
1.该类是一个final类,不能有子类。
-
2.只要出现双引号表示的字面值数据,都是该类的一个实例对象,如“abc”
说明创建字符串对象,可以不适用关键字new。 -
3.字符串是常量,创建后不能改变,能改变的是引用的指向
-
4.由于字符串不能改变,因此被共享。
-
5.字符串底层原理就是字符数组
构造方法
-
使用new关键字创建对象时,调用的方法
-
单元测试:JUnit
- 定义方法: public void 方法名(){ ....}
- 需要在方法的上边加入 @Test 注解,需要导入对应的列库。
- 注意:项目中不要出现以Test为类名的类。
-
-
String()
- 初始化一个新创建的String对象,使其表示一个空字符序列
-
String(byte[] bytes)
- 通过使用平台的默认字符集解码指定的byte数组,构造一个新的String
-
String(byte[] bytes,int offsert,int length)
- 通过使用平台的默认字符集解码指定的byte子数组,构造一个新的String
-
String(char[] value)
- 分配一个新的String,使其表示字符数组参数中当前包含的字符序列
-
String(char[] value,int offsert,int count)
- 分配一个新的String,包含取自字符数组参数一个子数组的字符
-
String(String original)
- 初始化一个新创建的String对象,使其表示一个与参数相同的字符序列
- 新创建的字符串是该参数字符串的副本
方法
-
1、判断
-
返回boolean
-
contains(CharSequence s)
- 当且仅当此字符串包含指定的char值序列,返回true
-
endsWith(String suffix)
- 测试此字符串是否以指定的后缀结束。
-
equals(Object anObject)
- 将此字符串与指定对象比较
-
equalsIgnoreCase(String anotherString)
- 将此String与另一个String比较,不考虑大小写
-
isEmpty()
- 当且仅当length()为0时返回true
-
startsWith(String prefix)
- 测试此字符串是否以指定的前缀开始
-
-
-
2、获取
-
返回char
-
charAt(int index)
- 返回指定索引处的char值
-
-
返回int
-
找不到指定的字符或字符串,则返回固定值-1
-
indexOf(int ch)
- 返回指定字符在次字符串中第一次出现处的索引
-
indexOf(int ch,int fromIndex)
- 返回在次字符串中第一次出现指定字符处的索引,从指定的索引开始搜索
-
indexOf(String str)
- 返回指定字符串在此字符串中第一次出现处的索引
-
indexOf(String str,int fromIndex)
- 返回在次字符串中第一次出现指定字符串处的索引,从指定的索引开始搜索
-
length()
- 返回此字符串的长度
-
-
返回String
-
截取字符串
-
substring(int beginIndex)
- 返回一个新字符串,它是此字符串的一个子字符串
-
substring(int beginIndex,int endIndex)
- 返回一个新字符串,它是此字符串的一个子字符串
-
-
-
3、转换
-
返回String
-
copyValueOf(char[] data)
- 返回指定数组中表示该字符序列的String
-
copyValueOf(char[] data,int offset,int count)
- 返回指定数组中表示该字符序列的String
-
将字符数组转换为字符串
-
将任意类型转换为字符串
-
valueOf()
- 参数可为各种基本类型,返回该参数的字符串形式
-
-
字母字符串的大小写转换
-
toUpperCase()
- 将此String中的所有字符转换为大写
-
toLowerCase()
- 将此String中的所有字符串转换为小写
-
-
-
返回char[]
-
toCharArray()
- 将此字符串转换为一个新的字符数组
-
-
返回byte[]
-
getBytes()
- 使用平台的默认字符集将此String编码为byte序列,并将结果存储到一个新的byte数组中
-
-
-
4、其他
-
返回String
-
concat(String str)
- 将指定字符串连接到此字符串的结尾
-
replace(char oldChar,char newChar)
- 返回一个新的字符串,它是通过用newChar替代此字符串出现的所有ordChar得到的
-
trim()
- 返回字符串的副本,忽略前面和尾部的空白
-
-
字符串缓存区对象
缓冲区:
- 看成一个容器,此容器的大小可以改变
字符串缓冲区
- 操作过程中可以操作任意类型的数据,操作结束后,得到一个唯一的字符。
在操作的过程中,一直操作同意缓存区
对象
-
StringBuffer和StringBuilder
-
区别
- StringBuffer jdk1.0版本的,多线程安全,效率慢
-
StringBuilder jdk5.0版本的,多线程不安全,效率快
-
特点
- 都是final类,即不能有子类,可变的字符序列
-
构造方法
- new StringBuilder() 常用
- new StringBuilder(指定容量)
- new StringBuilder(String str) 常用,将字符串转为字符串缓冲区对象
-
字符串和缓冲区对象之间的转换问题:
-
String---->StringBuilder :
- new StringBuilder(String str)
-
StringBuilder ---->String
- new String(StringBuilder s)
- new StringBuilder().toString()
-
互转的目的就是为了使用对方的功能或对方的特点
-
-
方法
-
增
- append(data) : 将data追加到原有数据的末尾
- insert(index,data) :将data插入到index位置上
-
删
- delete(start ,end) :删除[start,end)区间内的字符
- deleteCharAt(index):删除index位置上的字符
-
改
- replace(start,end ,newStr):将[start,end)区间内的替换为newStr
- reverse(): 反转
- setCharAt(index, newChar) :将index位置上的字符修改为newChar
-
查
- length(): 获取字符长度
- capcity(): 获取实际容量
- toString():返回字符序列
-
-
包装类
java.lang包中的对象
- 基本类型仅仅是表示一个简单的数据,需要能像对象一样,进行方法和属性的访问操作。
基本类型
- byte short int long double float char boolean
包装类型
- Byte Short Integer Long Double Float Character Boolean
构造方法
-
Integer(int value)
- 构造一个新分配的Integer对象,它表示指定的int值
-
Integer(String s)
- 构造一个新分配的Integer对象,它表示String参数所指示的int值
-
Character(char valuer)
- 构造一个新分配的Character对象,用以表示指定的char值
-
只有字符类型有一个构造方法,来创建对象,其他对是两个与Integer类似。
-
注意:String参数一定要与被创建对象的格式是一致的,否则出现格式化异常。
方法
-
1、基本类型关键字+Value()
- 将包装类对象转为对应的基本类型
-
2、static parse+基本类型关键字(首字母大写)(String s)
- 将s解析为对应的基本类型
总结
-
int 、String、 Integer三者间转换:
-
int--->String :
- int+””
- String.valueOf(int)
- Integer.toString(int)
-
String---> int:
- Integer.parseInt(str)
-
int--->Integer
- new Integer(int)
- Integer.valurOf(int)
-
Integer---->int
- intValue()
-
String---->Integer
- new Integer(str)
- Integer.valueOf(str)
-
Integer---->String :
- new Integer().toString()
-
JDK5.0特性
-
自动装箱和自动拆箱
-
装箱
- 将基本类型转为包装类对象形式
-
拆箱
- 将包装类对象转为基本类型
-
自动装箱
- 可以将基本类型数据直接赋值给包装类对象
-
自动拆箱
- 可以将包装类对象直接赋值给基本类型变量
-
好处
- 简化代码的书写
-
弊端
- 大量使用可能会对性能有损伤,不建议多使用
-
System类
java.lang包中,final类,系统类,类中成员是静态的,该类不能实例化。
属性
- out: 标准的输出数据,默认输出位置是控制台,可以改。
- in :标准的输入数据,默认是通过键盘进行输入,可以改。
- err: 标准的错误数据输出,用法out相同,输出位置也是控制台,输出内容位置会移动。
方法
-
long currentTimeMillis():
- 获取当前系统时间毫秒值,从1970-1-1 0:0:0开始计算的。
- 1s = 1000ms
-
void exit(int status)
- :jvm终止执行。status是状态码,非0数字代表异常退出
Math
java.lang包中,final类,类中封装了常用的一些基本数学计算,如三角函数、对数等。
类中成员都是静态的。
属性
- PI:圆周率
- E:自然底数
方法
-
abs()
- 绝对值:参数类型float、double、int、long
-
cbrt()
- 开立方:参数类型double
-
sqrt()
- 开平方根:参数类型double
-
ceil()
- 大于参数的最小整数:参数类型 double
-
floor()
- 小于参数的最大整数:参数类型 double
-
max()
- 返回两个整数中的大数:参数类型:double、int、long
-
min()
- 返回两个整数中的小数:参数类型:double、int、long
-
pow()
- 计算2的3次幂:参数类型double
-
round()
- 四色五日:参数类型float--int double---long
-
random
- 随机数 0.0~1.0
new Random()
-
nextInt(int n)
- 返回[0,n)之间的随机整数
大数据类型
java.math包中
BigInteger:
-
基本类型:long类型8字节
- 遇到的数据超出long类型,使用BigInteger来表示
-
构造方法
-
BIgInteger(String val)
- 将BigInteger的十进制字符串表示形式转换为BigInteger
-
BIgInteger(String val,int radix)
- 将指定基数的BigInteger的字符串表示形式转换为BigInteger
-
-
方法
-
b1.add(b2)
- 加法
-
b1.subtract(b2)
- 减法
-
b1.multiply(b2)
- 乘
-
b1.divide(b2)
- 除
-
b1.abs()
- 绝对值
-
注:
- 方法的返回值类型是:BigInteger类型。
-
BigDecimal
-
double、float 应用领域:科学记数或工业领域,都是近似数。
该类是一个不可变的有精确的表示小数 -
构造方法
-
BigDecimal(String num) : 常用
-
BigDecimal(double num)
- 可能出现不可预知的结果,因此不建议使用
将double数据转为字符串,再封装到BigDecimal对象中
- 可能出现不可预知的结果,因此不建议使用
-
日期对象
java.util包
Date
-
表示特定的瞬间,能精确到毫秒
-
构造方法()
-
Date()
- 分配Data对象并初始化此对象,以表示分配它的时间(精确到毫秒)
-
Date(long date)
- 放入long类型毫秒值,把毫秒值转换为Date日期
-
-
方法
-
setTime(long time)
- 设置此Date对象,以表示1970年1月1日00:00:00GMT以后time毫秒的时间点
-
getTime()
- 返回1970年1月1日00:00:00GMT以来此Date对象表示的毫秒数
-
日期格式化
-
DateFormat
-
DateFormat类是一个抽象类,无法直接创造对象使用,可以使用DateFormat类的子类
-
构造方法
-
SimpleDateFormat(String pattern)
- 用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat
- 写对应的模式,会把模式替换为对应的日期和时间
-
-
-
"yyyy-MM-dd HH:mm:ss" - 注:连接符号可以改,字母不能更改 - 模式: y 年 M 月 d 日 h/H 小时 m分钟 s 秒 S毫秒 E 星期
-
成员方法
-
String format(Date date)
- 按照指定的模式,把指定的模式,把Date日期,格式化为符合模式的字符串(文本)
-
Date parse(String source)
- 把符合模式的字符串,解析为Date日期
-
-
日历对象
在java.util包中
Calendar
-
该对象将Date类中的大部分方法替代了。该对象封装有关系时间日期信息很详细
-
获取Calendar对象
- static getInstance()
-
方法
-
public int get(int field)
- 返回给定日历字段的值
- 参数:传递指定的日历字段(YEAR,MONTH……)
-
public void set(int field,int value)
- 将给定的日历字段设置为给定值
- 参数:
-
int field:传递指定的日历字段(YEAR,MONTH)
-
int value:给指定字段设置的值
-
public abstract void add(int field,int amount)
- 根据日历的规则,为给定的日历字段添加或减去指定的时间量。
- 参数:
-
int filed传递指定的日历字段(YEAR,MONTH)
-
int amount:增加/减少指定的值
-
正数:增加
-
负数:减少
-
public Date getTime():
- 返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象
把日历对象,转换成日期对象
- 返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象
-
总结
- 1.Date和Calendar互转
2.获取毫秒值的方式
3.格式化日期或日历对
NumberFormat
该类是用来格式化和解析数值数据的,该类是一个抽象类,类中提供静态方法可以获取对象
获取NumberFormat对象
-
format()
- 格式化数据,将数值转化为文本格式
-
parse()
- 解析数据,将文本转为数值
-
setMaximumFractionDigits(int newValue)
- 设置数的小数部分所允许的最大位数
-
setMaximumIntegerDigits(int newValue)
- 设置数的整数部分所允许的最大位数