共计 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 工夫戳
正文完