首页 > 编程语言 > 详细

java基础05util

时间:2021-04-07 15:18:04      阅读:13      评论:0      收藏:0      [点我收藏+]

util常用类

1.日期类

1.1Date

表示时间和日期

创建:

Date();//系统当前时间创建

Date(long date);//指定毫秒数创建

方法:

boolean after(Date when);//判断当前是否在when日期之后

boolean before(Date when);//判断 之前

void setTime(long time);//设置日期对象

boolean equals(Object obj);//判断是否相等

long getTime();//返回日期毫秒数

String toString();//返回格式化字符串日期

1.2 Calendar

可以以整数形式检索类似于年、月、日之类的信息

Calendar类是抽象类,无法实例化,通过调用getInstance方法来获得对象

Calendar getInstance();//返回地区时间对象

int get(int fields);//返回对象指定值

void set(int fields,int value);//设置指定值

void add(int fields,int amount);//添加

Date getTime();//返回同时间的Date对象

1.3 Instant

Instant 时间线上的瞬间点,采用UTC的时间刻度。此类是不可变的且是线程安全的。

1.8 版本才有

Instant now();//返回当前时间实例

Instant now(Clock clock);//指定时间实例

ZonedDateTime atZone(ZoneId id);//与时区结合返回

boolean isAfter(Instant in);//判断先后

Instant minus(long time,Temporalnit unit);/plus()

1.4 其他

LocalDate/LocalDateTime/LocalTime

获得当前系统的时间,线程安全且不可变

 

2.格式化类 Format

2.1 DateFormat

DateFormat属于抽象类,我们使用子类SimpleDateFormat

例子

2.2 DateTimeFormatter

jdk1.8相关的几个日期类做转换

 

2.3 NumberFormat

格式化数字

NumberFormat也是抽象类,必须使用子类DecimalFormat

//#.## 保留两位小数

//#.##% 自动百分比计数并保留两位小数

//,### 每三位以逗号分隔

例子

NumberFormat numberFormat = new DecimalFormat("###,###.###");

String result = numberFormat.format(4567778827.626548);

System.out.println(result);

3.随机数类

3.1 Random

生成随机数

ThreadLocalRandom是Random的子类,在并发程序中使用ThreadLocalRandom

Random() 创建

Random(long seed) 随机数种子创建

XXX nextXXX() 随机返回一个XXX型值

double nextGaussian()随机返回一个高斯分布的值

4.编码解码类

4.1 Base64

Base64.Encoder Base64.Decoder

使用RFC 4648和RFC 2045中规定的Base64编码方案来实现用于解码字节数据的解(编)码器

Encoder encoder = Base64.getEncoder();// 获得编码器
String encodePass = encoder.encodeToString(pass.getBytes());
?
Decoder decoder = Base64.getDecoder();// 获得解码器
byte[] by = decoder.decode(encodePass);
String str = new String(by);

 

4.2 MessageDigest

MessageDigest类为应用程序提供消息摘要算法的功能

消息摘要是采用任意大小的数据并输出固定长度散列值的安全单向散列函数

try {
   // 1.获得messageDigest对象
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
// 2.传输需要加密数据
messageDigest.update(pass.getBytes());
// 3.加密
byte[] encodeBy = messageDigest.digest();
System.out.println(Arrays.toString(encodeBy));
// 将字节数组转换成BigInteger实例
BigInteger bigInteger = new BigInteger(1, encodeBy);
String pass1 = bigInteger.toString(16);
System.out.println(pass1);
   
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}

 

java基础05util

原文:https://www.cnblogs.com/fremontxutheultimate/p/14627104.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!