常用类库(接口)

*常用类库(接口)*

jdk自带一些方法类,很多时候可以不用自己编写代码,直接调用类库中的类即可。

*泛型*

参数化类型,将类型由原来的具体类型参数化,不确定引用的参数类型时使用。

*泛型类*

class ClassData{

private T data;

private T getData(){

Return data();

}

Private T setData(){

This.data=data();

}

}

*泛型接口*

interface A{

T.getData();

}

*泛型在接口中使用与在类中使用区别:是否指定泛型*

指定:String text(String替换T)

不指定:T data(不替换)

*泛型方法*

private static 权限修饰符 方法名(T a, T b){ }

*泛型限制类型*

指定泛型的类:extends父类

*通配符?*

泛型的上界限定使用:<?extends 父类>

下界限定使用:

指定第一次调用的类型:

*Objects*

Object是所有类的父类,顶级父类,其中有很多自带的方法。

Objects是jdk7添加的工具类,能用来进行一些常用的检查操作

如Objects.equals()

*Arrays*

包含了对数组操作的方法

如二分查找,排序等

*动态扩容*

(1)不调用类方法

创建一个更大的数组对象,让新的数组对象覆盖原来的数组对象。

arr={1,2,3}

int [] arr2=new int[10];

arr=arr2;

(2)调用类方法copyof()

arr=Arrays.copyof(arr,newLength:15);

*BigDecimal*

作用:解决java小数运算误差

*常用方法:*

加减乘除

*常用构造方法:*

BigDecimal(String val)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-evl8Ns9e-1588068588161)(file:///C:\Users\Administrator.ZTKJ-20190727TS\AppData\Local\Temp\ksohtml5948\wps1.jpg)]

*其他方法*

*char[]*

常用类库(接口)_第1张图片

*double*

C:\Users\Administrator.ZTKJ-20190727TS\AppData\Local\Temp\ksohtml5948\wps3.jpg

*int*
在这里插入图片描述

*long*

在这里插入图片描述

*String*
常用类库(接口)_第2张图片

*Date*

*功能:*

在这里插入图片描述

*常用构造方法:*

常用类库(接口)_第3张图片

*常用方法:*

常用类库(接口)_第4张图片

*DateFormat*

*作用*

常用类库(接口)_第5张图片

*自定义日期格式*

SimpleDateFormat format=new SimpleDateFormat(pattern:“yyyy–MM-dd HH:mm ss”);

String text=format.format(new Date());//转换成文本

常用类库(接口)_第6张图片

常用类库(接口)_第7张图片

//parse:将日期字符串转换成date对象

常用类库(接口)_第8张图片

常用类库(接口)_第9张图片

*Calendar*

*国际化*

常用类库(接口)_第10张图片

*静态方法getInstance获取对象(抽象类)*

Calendear c1=Calendar.getInstance();

*获取年月日*

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-naksFSdr-1588068588323)(file:///C:\Users\Administrator.ZTKJ-20190727TS\AppData\Local\Temp\ksohtml5948\wps16.jpg)]

*getTime将日历时间转换成Date对象*

Calendar c1=new Calendar();

Date d=c1.getTime();

*System*

*arraycopy与********Arrays类********coppyof方法作用相同*

常用类库(接口)_第11张图片

*String*

一旦创建,无法更改内容(常量)

若两个字符串内容相同,共用一个内存地址

*字符串常量池*

*方法区*

方法区,又称永久代,被所有线程共享。

*堆*

新生代:更新访问频率快,垃圾回收频繁。

老年代:更新访问频率小,垃圾回收少。

永久代:用来类,常量,静态值。(jdk1.8之后,元空间替代了永久代)

*字符串拼接*

尽量不要使用String拼接(+)(特别是循环情况)

原因:会产生gc垃圾,浪费内存。

常用类库(接口)_第12张图片

应该选择append方法(动态扩容),节省内存。

StringBuffer可变,线程安全的实现。

String定长


方法区,又称永久代,被所有线程共享。

*堆*

新生代:更新访问频率快,垃圾回收频繁。

老年代:更新访问频率小,垃圾回收少。

永久代:用来类,常量,静态值。(jdk1.8之后,元空间替代了永久代)

*字符串拼接*

尽量不要使用String拼接(+)(特别是循环情况)

原因:会产生gc垃圾,浪费内存。

[外链图片转存中…(img-hKfY08wT-1588068588353)]

应该选择append方法(动态扩容),节省内存。

StringBuffer可变,线程安全的实现。

String定长

常用类库(接口)_第13张图片

你可能感兴趣的:(java,jdk)