栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习

P486 常用类-Instant类的使用
    @Test
    // 类似于java.util.Date
    public void test2(){
        Instant instant = Instant.now();
        System.out.println(instant); // 本初子午线时间
        // 添加时间的偏移量
        OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8));
        System.out.println(offsetDateTime);
        // 获取对应的毫秒数
        long milli = instant.toEpochMilli();
        System.out.println(milli);
        // 通过给定毫秒数,获取Instant实例
        Instant instant1 = Instant.ofEpochMilli(1650863932197L);
        System.out.println(instant1);
    }
P487 常用类-DateTimeFormatter的使用
    @Test
    public void test3(){
        // 方式一:预定义的标准格式
        DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
        // 格式化
        LocalDateTime localDateTime = LocalDateTime.now();
        String str1 = formatter.format(localDateTime);
        System.out.println(localDateTime);
        System.out.println(str1);
        // 解析  字符串-->日期
        TemporalAccessor parse = formatter.parse("2022-04-25T13:33:07.149");
        System.out.println(parse);
        // 方式二: 本地化相关的格式
        DateTimeFormatter formatter1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG);
        // 格式化
        String str2 = formatter1.format(localDateTime);
        System.out.println(str2);

        DateTimeFormatter formatter2 = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL);
        // 格式化
        String str3 = formatter2.format(LocalDate.now());
        System.out.println(str3);

        // 方式三:自定义的格式
        DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
        String str4 = formatter3.format(LocalDateTime.now());
        System.out.println(str4);

        // 解析
        TemporalAccessor parse1 = formatter3.parse("2022-04-25 01:53:28");
        System.out.println(parse1);
    }
P488 常用类-其他日期时间相关API的使用 P489 常用类-IDEA的使用:导入Module P490 常用类-Java比较器概述 P491 常用类-Comparable自然排序举例
package com.commonClass;

import org.junit.Test;

import java.util.Arrays;

public class CompareTest {

    
    @Test
    public void test1(){
        String[] arr = new String[]{"AA","CC","KK","MM","GG","JJ","DD"};
        //
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
    }
}
P492 常用类-自定义类实现Comparable自然排序
    @Test
    // 对于自定义类来说,如果需要排序,我们可以让自定义类实现Comparable接口,并重写compareTo方法
    // 在compareTo方法指明如何排序
    public void test2(){
        Goods[] arr = new Goods[4];
        arr[0] = new Goods("Lazer",299);
        arr[1] = new Goods("Lenonvo",99);
        arr[2] = new Goods("xiaomi",89);
        arr[3] = new Goods("huawei",199);

        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
    }
package com.commonClass;

public class Goods implements Comparable{
    private String name;
    private double price;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public Goods() {
    }

    public Goods(String name, double price) {
        this.name = name;
        this.price = price;
    }

    @Override
    public String toString() {
        return "Goods{" +
                "name='" + name + ''' +
                ", price=" + price +
                '}';
    }
    // 按照价格从低到高
    @Override
    public int compareTo(Object o) {
        if (o instanceof Goods){
            Goods goods = (Goods) o;
            if (this.price > goods.price){
                return 1;
            }else if (this.price < goods.price){
                return -1;
            }else {
                return 0;
            }
        }
        throw new RuntimeException("传入的数据类型不一致");
    }
}
P493 常用类-使用Comparator实现定制排序
    
    @Test
    public void test3(){
        String[] arr = new String[]{"AA","CC","KK","MM","GG","JJ","DD"};
        Arrays.sort(arr, new Comparator() {
            // 按照字符串从大到小的顺序进行排序
            @Override
            public int compare(String o1, String o2) {
                if (o1 instanceof String && o2 instanceof String){
                    String s1 = (String) o1;
                    String s2 = (String) o2;
                    return -s1.compareTo(s2);
                }
                throw new RuntimeException("输入的数据不一致");
            }
        });
        System.out.println(Arrays.toString(arr));
    }
    @Test
    public void test4(){
        Goods[] arr = new Goods[5];
        arr[0] = new Goods("Lazer",299);
        arr[1] = new Goods("Lenonvo",99);
        arr[2] = new Goods("xiaomi",89);
        arr[3] = new Goods("huawei",199);
        arr[4] = new Goods("Microsoft",399);

        Arrays.sort(arr, new Comparator() {
            // 按照产品名称从低到高排序,再按照价格从高到低排序
            @Override
            public int compare(Object o1, Object o2) {
                if(o1 instanceof Goods && o2 instanceof Goods){
                    Goods g1 = (Goods) o1;
                    Goods g2 = (Goods) o2;
                    if (g1.getName().equals(g2.getName())){
                        return -Double.compare(g1.getPrice(),g2.getPrice());
                    }else {
                        return g1.getName().compareTo(g2.getName());
                    }
                }
                throw new RuntimeException("输入的数据不一致");
            }
        });
        System.out.println(Arrays.toString(arr));
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/839575.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号