Java常用工具类API

API

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

Object

Object:所有类的父类,类中的方法都可以被子类使用;

常用方法

方法名作用返回值
hashCode()获取对象hash值int
toString()将对象信息变为字符串返回String
equals(Object obj)判断两个内存地址是否一样boolean
getClass()获取类名Object

String

①被final修饰的类,不能被继承
②字符串存在于常量池中。如果new String(),则会在堆内存中开辟空间,如果是直接赋值的话,会在常量池中开辟空间
③String可以通过+做字符串的拼接,但是效率低下

常用方法

方法名作用返回值
split()拆分字符串String[]
isEmpty()判断是否为空boolean
length()取到该String的长度int
equals(Object obj)判断两个字符串是否相等boolean
equalsIgnoreCase(String as)不区分大小写比较Object
charAt(int index)返回该下标的charchar
substring(int start)截取字符串下标从start开始String
substring(int start,int end)截取区间字符串从start开始到end结束(包头不包尾)String
replace(char old,char new)替换字符串String
trim()去掉字母首尾空格String
indexOf()寻找某个字符串在目标字符串的位置int
getBytes()转换成bytes型数组byte[]
toCharArray()转换成char型数组char[]
String valueOf(char[] chs)将入参类型转换为StringString
toLowerCase()将所有英文字母转换为小写字母String
toUpperCase()将所有英文字母转换为大写字母String
concat(String str)将指定字符串连接到此字符串的结尾String

StringBuffer

用来解决String更改字符串造成的时间浪费和空间浪费的。

常用方法

方法名作用返回值
append(String str)追加字符串StringBuffer
insert(int offset,String str)指定位置追加字符串StringBuffer
deleteCharAt(int index)删除下标处的字符StringBuffer
delete(int start,int end)删除下标区间的字符StringBuffer
replace(int start,int end,String str)替换区间字符StringBuffer
reverse()反转字符串StringBuffer
substring(int start,int end)截取区间字符串从start开始到end结束(包头不包尾)String
substring(int start)截取字符串String

包装类

基本数据类型:是没有方法的,但是可以通过包装类来实现方法的调用
包装类分为两类,一种是对象型包装类,不继承任何其他类(Object的直接子类),另一种是数值型包装类,继承于Number类。

数值型包装类写法上只有:
int—————Integer
char——————Character
剩下的数据类型都是首字母大写

		// byte的包装类
		public final class Byte extends Number implements Comparable<Byte>
		
		// short的包装类
		public final class Short extends Number implements Comparable<Short> 
		
		// int的包装类
		public final class Integer extends Number implements Comparable<Integer>
		
		// long的包装类
		public final class Long extends Number implements Comparable<Long> 
		
		// float的包装类
		public final class Float extends Number implements Comparable<Float> 
		
		// double的包装类
		public final class Double extends Number implements Comparable<Double>
		
		//Boolean和Character两个类就是正常的属性方法封装,但是数值型的包装类继承了一个Number类。
		public abstract class Number implements java.io.Serializable 
		其实Number中定义的方法就是用于拆箱装箱的。

装箱和拆箱

  1. 装箱:基本数据类型————>包装类
  2. 拆箱:包装类————>基本数据类型

包装类编码规约

  1. 相同类型的包装类对象之间值的比较,全部使用equals()方法
  2. 所有的局部变量最好使用基本数据类型

Integer

常用方法

方法名作用返回值
intValue()转换成intint
parseInt(String s)String转换成intint
valueOf(String s)String转换成IntegerInteger
String toBinaryString(int i)转换成2进制String
toOctalString转换成8进制String
toHexString(int i)转换成16进制String
toHexString(int i)十进制到其他进制String
parseInt(String s,int radix)其他进制到十进制int

Character

方法名作用返回值
isUpperCase(char ch)判断指定字符是否为大写字母boolean
isLowerCase(char ch)判断指定字符是否为小写字母boolean
isDigit(char ch)如果字符串中只含有数字则返回Trueboolean
toUpperCase(char ch)将小写字符转换为大写char
toLowerCase(char ch)将大写字符转换为小写char

Math

常用方法

方法名作用返回值
abs(int a)取绝对值int
ceil(double a)返回最小值double
floor(double a)返回最大值double
max(int a,int b)取最大值int
pow(double a,double b)求幂double
random()随机数double
round(float a)四舍五入成整数int
sqrt(double a)求double值的正平方根double

Date

常用方法

		public long getTime()//获取时间
		public void setTime(long time)//设置时间

Date时间格式化

		** 输出格式: 2016-10-26 4:48:11*/
		System.out.println((new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date()));
		/** 输出格式: 2016-10-26 16:48:11 */
		System.out.println((new java.text.SimpleDateFormat("yyyy-M-d H:mm:ss")).format(new Date()));
这里需要注意的就是24时和12时的显示正则,H大写为24时计时法,h小写为12时计时法,两个h时,即hh,当为个位数时间时前面自动补0即下午4点显示04

Calendar(抽象类)

常用方法

方法名作用返回值
getInstance()获取日期Calendar
get(int field)获取年/月/日/时/分/秒int
add(int field,int amount)计算时间void
set(int year,int month,int date)设置时间void

Random

常用方法

方法名作用返回值
nextInt()生产一个随机数int
nextInt(int n)生成一个0~n之间的随机数int

补充(重点)

一、equals和 ==的区别:

  1. equals:底层的代码就是==;
  2. equals只能比较引用数据类型;
  3. ==:可以比较基本数据类型和引用数据类型,比较基本数据类型的时候比较的是值,比较引用数据类型的时候比较的是地址值。

二、String、StringBuffer、StringBuilder的区别:

  1. 执行速度快慢:StringBuilder > StringBuffer > String
  2. 线程安全:StringBuffer和String是线程安全的,StringBuilder是线程不安全的
  3. 使用场景:
    String:适用于少量的字符串操作的情况
    StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
    StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况
  4. String为字符串常量,而StringBuilder和StringBuffer均为字符串变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值