0
点赞
收藏
分享

微信扫一扫

【JavaSE总结】常用类

十里一走马 2022-01-16 阅读 102
java

一、Object类

1、hashcode()

获取变量的hashcode值

变量名.hashcode();

2、toString()

获取对象相应的String类型对象

int a = 123;
System.out.println(a.toString());

这样输出的结果是123,但输出的是一个String类型的值。

3、clone()

完完全全复制一个对象,但是地址不同。

Person p = new Person(23, "zhang");
Person p1 = (Person) p.clone();

p1和p的地址是不一样的。

4、getClass()

获取对象的Class类,如:

Class c1 = person.getClass();

5、notify()

唤醒通过wait()进入阻塞的对象。
notifyAll可以唤醒某个线程的所有对象。

6、wait()

释放对象的锁,使其进入阻塞。

7、equals()

比较两个对象是否完全一样

二、Math类

名称说明
Abs()返回数字的绝对值。
Acos(Double)返回余弦值为指定数字的角度。
Asin(Double)返回正弦值为指定数字的角度。
Atan(Double)返回正切值为指定数字的角度。
Atan2(Double, Double)返回正切值为两个指定数字的商的角度。
BigMul(Int32, Int32)生成两个 32 位数字的完整乘积。
Ceiling()返回大于或等于指定的数的最小整数值。
Cos(Double)返回指定角度的余弦值。
Cosh(Double)返回指定角度的双曲余弦值。
DivRem(Int, Int, Int)计算两个 有符号整数的商,并通过输出参数返回余数。
Exp(Double)返回 e 的指定次幂。
Floor()返回小于或等于指定数的最大整数。
IEEERemainder(Double, Double)返回一指定数字被另一指定数字相除的余数。
Log(Double)返回指定数字的自然对数(底为 e)。
Log(Double, Double)返回指定数字在使用指定底时的对数。
Log10(Double)返回指定数字以 10 为底的对数。
Max(数1,数2 )返回两个数中较大的一个。
Min(数1,数2)返回两个数中较小的一个。
Pow(Double, Double)返回指定数字的指定次幂。
Round(数)将数值舍入到最接近的整数值。
Round(数, Int32)将小数值按指定的小数位数舍入。
Sign(数)返回一个整数,表示这个数的符号。
Sin(Double)返回指定角度的正弦值。
Sinh(Double)返回指定角度的双曲正弦值。
Sqrt(Double)返回指定数字的平方根。
Tan(Double)返回指定角度的正切值。
Tanh(Double)返回指定角度的双曲正切值。
Truncate(数)计算一个数字的整数部分。

三、Random类

先定义一个Random对象

Random random = new Random(seed);

Random类有含参的构造器,可填入种子值,默认以当前时间戳作为种子。
random对象调用方法,如:random.nextInt();

方法说明
nextInt()随机产生int类型的数
nextInt(数)随机产生[0,数)的int类型的数
nextFloat()随机产生float类型的数
nextFloat(数)随机产生[0,数)的float类型的数
nextLong()随机产生long类型的数
nextLong(数)随机产生[0,数)的long类型的数
nextDouble()随机产生double类型的数
nextDouble(数)随机产生[0,数)的double类型的数
nextBoolean()随机产生布尔类型的数
nextBoolean(数)随机产生[0,数)的布尔类型的数

随机产生UUID

uuid就是通用唯一识别码 ,类似于我们的身份证,独一无二 。
先导包

import java.util.UUID;

随机产生一个uuid

UUID.randomUUID();

尝试一个,结果是这样:aa5c51f1-4ec7-4eb1-b9af-9c8cffa68e76
将它转成字符串,去 - ,并字母小写,再输出。

String s = UUID.randomUUID().toString().replace("-", "").toLowerCase();
System.out.println(s);

再次尝试一个,结果是:39b68bced0e4475588f6c31850b733a1

四、File类

1、构造器

new File()可以使用3种构造器。
第一种是传路径的字符串:

File file = new File("D:\\1.txt");

第二种是指定父路径和文件对象

File file1 =  new File("D:\\a","1.txt");

第三种是指定父对象和文件对象

File parent = new File("D:\\a");
File file2 = new File(parent, "1.txt");

2、创建和删除

  • createNewFile() 指定路径不存在该文件时创建文件,返回true,否则false
  • mkdir() 当指定的单级文件夹不存在时创建文件夹并返回true,否则false
  • mkdirs() 但指定的多级文件夹在某一级文件夹不存在时,创建多级文件夹并返回true,否则false
  • delete() 删除文件或者删除单级文件夹

3、获取数据

String getPath() 获取File对象中封装的路径
File getAbsoluteFile() 获取文件的绝对路径,返回File对象
long length() 返回文件的字节数
boolean exists() 判断指定路径的文件或文件夹是否为空
boolean isDirectory() 判断对象是不是一个目录
boolean isFile() 判断对象是不是一个文件
boolean isHidden() 判断当前对象是否是一个隐藏文件

五、包装类

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean
charCharacter

包装类的自动装箱、自动拆箱机制

自动装箱

Integer  num1 = 1;		

自动拆箱

int num2 = num1;		

六、Date类

1、Date

构造器

无参构造:获取当前系统时间和日期

Date date = new Date();
System.out.println(date);

输出:Sat Jan 15 18:13:02 CST 2022(星期六 一月 15日 18:13:02 中国标准时间 2022年)

含参构造:参数为毫秒数
将基准时间 (1970年1月1日8时0分0秒) 加上参数的毫秒数。

常用方法

public long getTime()日期转毫秒

Date date = new Date();
long time = date.getTime();
System.out.println(time);  

输出:1575554152316

2、SimpleDateFormat

包位置: java.text.SimpleDateFormat ,继承了抽象类DateFormat,用于日期和文本之间的转换。

构造器

有参构造,参数为模式:public SimpleDateFormat(String pattern)
pattern是String类型的,表示格式,如:yyyy-MM-dd HH:mm:ss

DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

对应的日期格式如:2022-01-15 20:44:38,标识字符是区分大小写的。

常用方法

public String format(Date date):将Date对象转化为字符串

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yy年MM月dd日 HH时mm分ss秒");//设置时间格式
Date date = new Date();//获取当前时间
String format = simpleDateFormat.format(date);//按格式转换时间
System.out.println(format);//打印

输出的结果类似于:22年01月15日 20时56分01秒

public Date parse(String source):将字符串解析为Date对象。这个方法会产生ParseException异常,需捕获。

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yy年MM月dd日 HH时mm分ss秒");
String parseDate = "22年01月15日 20时56分01秒";
try {
    Date parseResult = simpleDateFormat.parse(parseDate);
    System.out.println(parseResult);
} catch (ParseException e) {
    e.printStackTrace();
}

输出结果类似于:Sat Jan 15 20:56:01 CST 2022

3、Calendar(建议使用)

字段解释
YEAR
MONTH
DATE
AM_PM0是上午,1是下午
HOUR_OF_DAY
MINUTE
SECOND
MILLISECOND毫秒
DAY_OF_WEEK周几
获取对象
Calendar calendar = Calendar.getInstance();

类似于Date date = new Date();结果类似于与:Tue Feb 15 21:16:31 CST 2022

常用方法

public void set 设置 年月日年月日时分秒
public int get获取参数的字段值
month月 是从0开始的,所以月份要按-1算。

七、String

1、String

不可变字符串

常用方法
方法用法参数
length()获取长度
charAt()获取指定下标的字符(int)下标
contains()是否包含指定字符串(String)指定字符串
toCharArray()转成字符数组
indexOf()指定字符串首次出现的下标(String)指定字符串
lastIndexOf()反向查找指定字符串首次出现的下标(String)指定字符串
trim()去除字符串两端的空格
toUpperCase()全大写
toLowerCase()全小写
endsWith()是否以某个字符串结尾(String)某个字符串
startsWith()是否以某个字符串开头(String)某个字符串
replace(A, B)字符串B替换字符串A(String)字符串A和B
split()按某个字符串拆分成字符数组(String)某个字符串
substring()截取字符串(int)起始位置(包含),结束位置(默认最后)

2、StringBuffer

可变长字符串,线程安全,效率低

构造器

无参构造

StringBuffer stringBuffer = new StringBuffer();

有参构造,参数为对象初始包含的字符串,也可以用来String转StringBuffer

StringBuffer stringBuffer = new StringBuffer("abc");
常用方法(String的方法也可以用)
方法用法参数
append()字符串末尾增加字符串(String)增加的字符串
insert()在索引位置插入字符串(int)(String)索引、插入的字符串
indexOf()指定字符串首次出现的下标(String)指定字符串
deleteCharAt()删除索引位置的字符(int)索引
reverse()逆序排列
toString()转字符串

3、StringBuilder

可变长字符串,线程不安全,效率高
JDK5新增,适用于单线程、频繁修改的字符串。
(用法和StringBuffer几乎一样)


上一篇 异常

举报

相关推荐

0 条评论