Java工具类

API

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

JavaAPI的常用类

Object

        所有类的基类,所有类都直接或者间接的继承Object类

        构造方法是 public Object()

        注:子类的构造方法默认访问的是父类的无参构造方法

        常用方法:

方法名

作用

返回值

hashCode()

获取对象hash

int

toString()

将对象信息变为字符串返回

String

equals(Object obj)

判断两个内存地址是否一样

boolean

getClass()

获取类名

Object

String

        String是由多个字符组成的,也可以看作是字符数组

        构造方法:

        

        常用方法:

方法名

作用

返回值

isEmpty()

判断是否为空

boolean

length()

取到该String的长度

int

equals(Object obj)

判断两个字符串是否相等

boolean

equalsIgnoreCase(String as)

不区分大小写比较

Object

charAt(int index)

返回该下标的char

char

substring(int start)

截取字符串下标从start开始

String

substring(int start,int end)

截取区间字符串从start开始到end结束(包头不包尾)

String

replace(char old,char new)

替换字符串

String

trim()

去掉字母首尾空格

String

        类型转换功能:

        String的注意事项

                String是一个用final修饰过的引用数据类型,他的值一旦创建便不能修改。String直接用””创建对象会放到常量池中。用””号创建会先去常量池中寻找,如果有就直接返回如果没有再进行创建。String直接用构造函数来创建对象,对象不会放到常量池中而是会放在内存堆里面。

        String每次修改字符的时候都会从新创建一个对象那么就会造成内存空间被不必要的占用。那么我们可以使用StringBuffer来解决这个问题

 StringBuffer

        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

String和StringBuffer的区别

        内存操作不同

        String是每次进行更改都会产生一个新的对象。StringBuffer不会产生新的对象而是在原有的对象上进行更改 

包装类

        java中的数据类型int,double等不是对象,无法通过向上转型获取到Object提供的方法,而像String却可以,只因为String是一个对象而不是一个类型。基本数据类型由于这样的特性,导致无法参与转型,泛型,反射等过程。为了弥补这个缺陷,java提供了包装类。

 包装类的实现

        java为我们提供了基本数据类型的包装类,这些包装类分为两类,一种是对象型包装类,不继承任何其他类(Object的直接子类),另一种是数值型包装类,继承于Number

装箱与拆箱

装箱:

  把基本数据类型封装成包装类

 拆箱:

  将包装类中包装的基本数据类型数据取出。

Integer i = new Inreger(1);//装箱

Integer i = 1;//自动装箱

i += 1;自动拆箱,通过intValue方法

ps:java1.5之后才可以自动装箱,拆箱

自动装箱的内存复用 

生成的Integer实例化对象是由 IntegerCache.cache() 方法产生,它会复用已有对象。

cache()方法会将位于-128~127范围内产生的Integer对象入池

        所以,在这个数值区间内的 Integer对象的栈指向可以直接使用==进行判断,因为值相同,指向的就是同一片区域。但是这个区间之外的所有数据,自动装箱都会在堆上产生实例化,并不再复用已有对象,推荐使用 equals 方法进行Integer的判断。

Integer的常用方法

方法名

作用

返回值

intValue()

转换成int

int

parseInt(String s)

String转换成int

int

valueOf(String s

String转换成Integer

Integer

 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)

如果字符串中只含有数字则返回True

boolean

toUpperCase(char ch)

将小写字符转换为大写

char

toLowerCase(char ch)

写字符转换为

char

java.util

util类是java为我们提供的一整套工具类。其中包含,获取时间,时间的格式转换,数字的运算,接收用户输入,生成随机数等。

Math

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)//设置时间

 Calendar

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEARMONTHDAY_OF_MONTHHOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法

常用的方法

方法名

作用

返回值

getInstance()

获取日期

Calendar

get(int field)

获取年/////

int

add(int field,int amount)

计算时间

void

set(int year,int month,int date)

设置时间

void

Random

此类用于产生随机数

如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列

 常用的方法:

方法名

作用

返回值

nextInt()

生产一个随机数

int

nextInt(int n)

生成一个0~n之间的随机数

int

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值