Java 常用类总结(SE基础) (4)

image-20210427200802497

DateTimeFormatter format = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM); //SHORT 2021/4/27 下午8:09, MEDIUM 2021年4月27日 下午8:10:02, // 在java15中LONG会异常,1.8不会,DateTime中没有FULL,Date中有 String str1 = format.format(localDateTime); System.out.println(str1);

自定义格式(类似于SimpleDateFormat):

DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss"); String str1 = format.format(localDateTime); //2021-04-27 08:21:52 System.out.println(str1); TemporalAccessor temporalAccessor1 = format.parse(str1); System.out.println(temporalAccessor1); //{MicroOfSecond=0, HourOfAmPm=8, MilliOfSecond=0, NanoOfSecond=0, MinuteOfHour=21, SecondOfMinute=52},ISO resolved to 2021-04-27

解析同上面即可,注意解析时需要一个TemporalAccessor转承。

其他的一些API(不再详细赘述):

Java 常用类总结(SE基础)

以上三种Date之间的转换:

Java 常用类总结(SE基础)

3. 比较器

这里牵扯到对象的比较

实现Comparable接口(自然排序),重写compareTo()方法,重写的规则是:当前对象this大于形参对象obj,返回正整数;this小于,返回负整数;this等于,返回0;

使用Comparator接口(定制排序)

适用于该类型没有实现Comparable接口,且不方便修改代码;或者实现了Comparable接口但是排序规则不适合当前操作

对比:

Comparable接口的方式可以保证类的对象在任何位置都可以实现比较

Comparator接口属于临时性的比较

关于应用在之前的博客中已有实现,可参考

(Set, Map, Collections工具类)JAVA集合框架二

4. System, Math, BigInteger 和 BigDecimal 4.1 System

java.lang.System

成员变量:in, out ,err三个,分别代表标准输入流(键盘输入),标准输出流(显示器),标准错误输出流(显示器)

static long currentTimeMillis() 返回当前时间(以毫秒为单位)。表达格式同时间戳。

static void exit(int status) 终止当前运行的Java虚拟机。status为0时代表正常退出,非零则为异常退出。

static void gc() 运行垃圾回收器。请求系统进行垃圾回收。

static String getProperty(String key) 获取指定键指示的系统属性。对于常用的key:

Java 常用类总结(SE基础)

4.2 Math

Java 常用类总结(SE基础)

以上为Math常用方法总结。可见开发文档。

4.3 BigInteger与BigDecimal BigInteger

构造方法:

Java 常用类总结(SE基础)

BigInteger提供所有java的基本整数操作符的对应物,并提供java.lang.Math的所有相关方法,另外,还提供一下运算:模算术,GCD计算,质数测试,素数生成,位操作等。

Java 常用类总结(SE基础)

BigDecimal

Float和Double的精度不能满足用户需求时,可以使用BigDecimal

构造方法:

BigDecimal(double val) 将 double转换为 BigDecimal ,这是 double的二进制浮点值的精确十进制表示。

BigDecimal(String val) 将BigDecimal的字符串表示 BigDecimal转换为 BigDecimal 。

还有很多,只举例了两种常用的。

加减乘除操作类似于BigInteger,说明一下devide:

Java 常用类总结(SE基础)

scale即保留多少位小数,上下文设置用的不多不再赘述。

几种舍入模式:

Java 常用类总结(SE基础)

其中,有些翻译不够准确,解释一下:

ROUND_UP,即向上舍。0.1203456789,当精度为3的时候,按照ROUND_UP模式,结果是0.121

ROUND_DOWN即向下舍。

而ROUND_HALF_EVEN,像邻近的偶数方向舍。

这几个可以参考对应英文进行理解。

4.4 个人总结的其他类

其实经常用到的还有Ramdom,生活中经常用到随机数。

Java 常用类总结(SE基础)

例如取一个随机整数。

Random r1 = new Random(); int i = r1.nextInt(100); //取0到100的随机整数,无 100

其他方法都是与之类似的,具体可参考开发文档。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwxsj.html