关于java:java-常用API

34次阅读

共计 2827 个字符,预计需要花费 8 分钟才能阅读完成。

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 工夫戳

正文完
 0