Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。所有类在创建对象的时候,最终找的父类就是Object。
* String toString() : 返回该对象的字符串表示
* return getClass().getName() + "@" + Integer.toHexString(hashCode());
* getClass():返回一个字节码对象
* Integer.toHexString():返回指定参数的十六进制字符串形式
* hashCode():返回该对象的哈希码值(内部地址)
重写equals()方法
1 @Override2 public booleanequals(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 = newDate();16 String s =sdf.format(date);17 System.out.println(s);//2049年08月26日 13:39:1218
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 112 //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 = newArrayList();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 空白字符:[ \t\n\x0B\f\r]
\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次
原文:https://www.cnblogs.com/samuraihuang/p/9785606.html
本文深入探讨了Java中的Object类,包括toString()、getClass()和hashCode()方法。此外,讲解了如何重写equals()方法。还介绍了System类的实用方法如arraycopy()、currentTimeMillis()。接着,详细阐述了Date和Calendar类的使用,以及SimpleDateFormat的日期格式化。最后,提到了Integer包装类的功能以及JDK1.5的自动装箱和拆箱特性,并给出了正则表达式的应用示例。
669

被折叠的 条评论
为什么被折叠?



