关于java:java-常用API

Arrays实用功能

public class ArraysFunc {
    public static void main(String[] args) {
        int[] i = new int[7];
        int[] j = new int[10];
        Arrays.fill(i, 47);//填充,可选范畴
        Arrays.fill(j, 99);
        System.out.println("i="+Arrays.toString(i));//转换成字符串打印
        System.out.println("j="+Arrays.toString(j));
        System.arraycopy(i,0,j,0,i.length);//复制,可选范畴
        System.out.println("j="+Arrays.toString(j));
        System.out.println(Arrays.equals(i,j));//比拟
        i = new int[]{4,1,2,3,5};
        System.out.println(Arrays.binarySearch(i, 4));//二分查找,未排序,可选范畴
        List intList=Arrays.asList(i); //intList中就有一个Integer数组类型的对象,整个数组作为一个元素存进去的
        for(Object o:intList){//就一个元素
            System.out.println(o.toString());
        }
        Integer ob[]={4,1,2,3,5};
        List<Integer> objList=Arrays.asList(ob); //数组里的每一个元素都是作为list中的一个元素
        objList.add(7); //不能增加
        for(int a:objList){
            System.out.println(a);
        }
    }
}

Scanner

  • 文本扫描器,能够应用正则表达式(作为结尾符)解析原始类型和字符串
  • 默认应用空格和换行作为分隔符
  • 罕用构造函数string,stream,file
  • 以控制台输出作为输出流传入 Scanner 的构造函数,那么这个办法会在有输出之前阻塞
public class UseScanner {
    public static void main(String[] args) {
        String input = "1 fish 2 fish red fish blue fish";
        Scanner s = new Scanner(input);
        s.useDelimiter("s*fishs*");
        while (s.hasNext()) {
            System.out.println(s.next());
        }
        System.out.println("完结");//应用System.in结构,程序会始终阻塞到while循环里,出不来
        s.close();
    }
}

System

public class UseSystem {
    public static void main(String[] args) throws IOException {
        //System.arraycopy();//复制数组
        System.out.println(System.currentTimeMillis());//ms工夫戳
        System.getProperties().list(System.out);//获取以后的各种零碎属性
        System.out.println(System.getProperty("user.dir"));//获取工程门路
        Map<String,String> map = System.getenv();//以后零碎环境的不可批改的字符串映射视图
        for (String key :
                map.keySet()) {
            System.out.println("key:"+key+" value:"+map.get(key));
        }
    }
}

LocalDateTime

public class DateTime {
    public static void main(String[] args) {
        System.out.println(LocalDate.now()); //零碎日期
        System.out.println(LocalDate.of(1997,3,20)); //特定日月年of
        System.out.println(LocalDate.parse("1997-03-20")); //特定日月年parse,两头必须用-
        System.out.println(LocalTime.parse("06:30")); //特定时分秒parse,两头必须用:
        System.out.println(LocalDateTime.parse("2015-02-20T06:30:00"));//两头必须有T
        System.out.println(LocalDateTime.now());//默认带T
        System.out.println(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd")));//不可批改对象,返回新的
        Period period = Period.between(LocalDate.of(2019, 10, 10), LocalDate.of(2020, 10, 20));
        System.out.println("相差年: "+period.getYears()+" 相差月 :"+period.getMonths() +" 相差天:"+period.getDays());
 //相差年: 1 相差月 :0 相差天:10
        Duration duration = Duration.between(LocalTime.of(10, 30, 00), LocalTime.of(20, 00, 00));
        System.out.println("相差时: "+duration.toHours()+" 相差分 :"+duration.toMinutes() +" 相差秒:"+duration.toMillis());
 //相差时: 9 相差分 :570 相差秒:34200000
        Timestamp timestamp = Timestamp.valueOf(LocalDateTime.now());//LocalTime转工夫戳
        System.out.println(timestamp.getTime());//毫秒工夫戳
        System.out.println(timestamp.toLocalDateTime().format(DateTimeFormatter.ofPattern("yyyy/MM/dd")));//工夫戳转LocalTime
 }
}
}
  • 工夫戳:从1970年1月1日(UTC/GMT的午夜)开始所通过的秒数
  • 为什么应用工夫戳:在数据库系统中,不同的数据库对工夫类型有不同的解释,如Oracle中的date和mysql中的date就不能间接兼容转换,为实现跨平台性,将工夫记录为unix工夫戳

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理