Java常用API-高级
Posted 武士黄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java常用API-高级相关的知识,希望对你有一定的参考价值。
Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。所有类在创建对象的时候,最终找的父类就是Object。
* String toString() : 返回该对象的字符串表示
* return getClass().getName() + "@" + Integer.toHexString(hashCode());
* getClass():返回一个字节码对象
* Integer.toHexString():返回指定参数的十六进制字符串形式
* hashCode():返回该对象的哈希码值(内部地址)
重写equals()方法
1 @Override 2 public boolean equals(Object obj) { 3 //提高效率 4 if (this == obj) 5 return true; 6 7 if (obj == null) 8 return false; 9 //提高健壮性 10 if (getClass() != obj.getClass()) 11 return false; 12 13 //向下转型 14 Person other = (Person) obj; 15 16 if (age != other.age) 17 return false; 18 if (name == null) { 19 if (other.name != null) 20 return false; 21 } else if (!name.equals(other.name)) 22 return false; 23 return true; 24 }
* System:包含一些有用的类字段和方法。它不能被实例化
* static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
* 复制数组
* 参数1:源数组
* 参数2:源数组的起始索引位置
* 参数3:目标数组
* 参数4:目标数组的起始索引位置
* 参数5:指定接受的元素个数
* static long currentTimeMillis() :以毫秒值返回当前系统时间
* 这个毫秒的时间是相对时间,相对于1970-1-1 00:00:00 : 0
1 long start = System.currentTimeMillis(); 2 for (int i = 0; i < 100000; i++) { 3 System.out.println(i); 4 } 5 long end = System.currentTimeMillis(); 6 System.out.println(end - start);
static void exit(int status)
终止当前正在运行的 Java 虚拟机
static void gc()
运行垃圾回收器
* Date: 表示特定的瞬间,精确到毫秒,他可以通过方法来设定自己所表示的时间,可以表示任意的时间
* System.currentTimeMillis():返回的是当前系统时间,1970-1-1至今的毫秒数
*
* 构造方法:
* Date() :创建的是一个表示当前系统时间的Date对象
Date(long date) :根据"指定时间"创建Date对象
1 Date d = new Date();//默认当前系统时间 2 //d.setTime(1000 * 60 * 60 * 24 * 2); 3 System.out.println(d.toLocaleString()); 4 System.out.println(d.getTime());//172800000 5 6 7 d.setTime(172800000L); 8 System.out.println(d.toLocaleString()); 9 10 11 SimpleDateFormat: 12 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); 13 14 //格式化 15 Date date = new Date(); 16 String s = sdf.format(date); 17 System.out.println(s);//2049年08月26日 13:39:12 18 19 20 //解析 21 Date d = sdf.parse("2049年08月26日 13:39:12"); 22 System.out.println(d.toLocaleString());
Calener类用法:
1 //static Calendar getInstance() 2 Calendar c = Calendar.getInstance(); 3 4 //void set(int field, int value) :把指定的字段修改成指定的值 5 //c.set(Calendar.DAY_OF_MONTH, 20); 6 7 //void add(int field, int amount): 在指定的字段上加上指定的值 8 c.add(Calendar.DAY_OF_MONTH, -1); 9 10 //int get(int field) // 返回给定日历字段的值 11 //public static final int YEAR 1 12 //System.out.println(Calendar.YEAR); 13 14 //int year = c.get(1); 15 int year = c.get(Calendar.YEAR); 16 int month = c.get(Calendar.MONTH) + 1; 17 int day = c.get(Calendar.DAY_OF_MONTH); 18 19 System.out.println(year + "年" + month + "月" + day + "日");
* 需求:判断一个数是否符合int类型的范围
* 由于基本数据类型只能做一些简单的操作和运算,所以Java为我们封装了基本数据类型,为每种基本数据类型提供了包装类
* 包装类就是封装了基本数据类型的类,为我们提供了更多复杂的方法和一些变量
1 //Integer(String s) 2 Integer i = new Integer("10"); 3 System.out.println(i); 4 5 //int intValue() 6 int a = i.intValue(); 7 System.out.println(a + 10 ); 8 9 //static int parseInt(String s) 10 int b = Integer.parseInt("20"); 11 System.out.println(b + 30); 12 13 14 //Integer(int value) 15 Integer i2 = new Integer(40); 16 String s = i2.toString(); 17 System.out.println(s); 18 19 //static String toString(int i) 20 String s2 = Integer.toString(50); 21 //System.out.println(s2);
* JDK1.5特性:自动装箱和拆箱
1 //自动装箱 2 //相当于: Integer i = new Integer(10); 3 //Integer i = 10; 4 5 //自动拆箱 6 //相当于 int a = i.intValue(); 7 //Integer i = 10; 8 //int a = i; 9 10 Integer i = 10; 11 Integer i2 = 20; 12 Integer i3 = i + i2; 13 /* 14 * Integer i3 = new Integer(i.intValue() + i2.intValue()); 15 * 16 */ 17 ArrayList list = new ArrayList(); 18 list.add(1);//自动装箱,list.add(new Integer(1));
正则表达式:就是一套规则,可以用于匹配字符串
boolean matches(String regex) :判断当前字符串是否匹配指定的正则表达式,如果匹配则返回true,否则返回false
判断字符串是不是都由数字组成:
1 //必须都是数字 2 for (int i = 0; i < length; i++) { 3 //得到参数的每一个字符 4 char c = qq.charAt(i); 5 if(c < ‘0‘ || c > ‘9‘) { 6 return false; 7 } 8 }
* 校验qq号码
* 要求必须是5-15位
* 0不能开头
* 必须都是数字
boolean flag = qq.matches("[1-9][0-9]{4,14}");
常用的正则表达式:
字符
x 字符 x
\ 反斜线字符
字符类
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围
预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)
d 数字:[0-9]
D 非数字: [^0-9]
s 空白字符:[ x0Bf ]
S 非空白字符:[^s]
w 单词字符:[a-zA-Z_0-9]
W 非单词字符:[^w]
Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
以上是关于Java常用API-高级的主要内容,如果未能解决你的问题,请参考以下文章
阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第1节 Scanner类_3-Scanner的使用步骤
高级JAVA开发必备技能:java8 新日期时间API(JSR-310:常用的日期时间API)(JAVA 小虚竹)
阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第3节 Calendar类_2_Calendar类的常用成员方法
高级JAVA开发必备技能:java8 新日期时间API(JSR-310:常用计算工具)(JAVA 小虚竹)
高级JAVA开发必须掌握技能java8 新日期时间API(JSR-310:常用的日期时间API),4万字详解(全程干货,建议收藏)