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] ab c(简单类)

[^abc] 任何字符,除了 ab 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-高级的主要内容,如果未能解决你的问题,请参考以下文章

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万字详解(全程干货,建议收藏)