* java. lang. object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例
化的时候,最终找的父类就是0bject。
* 如果一个类没有特别指定父类,那么默认则继承自Object类。
* 常用方法:
* public string toString(): 返回该对象的字符串表示。
* 作用:打印对象的信息
* 重写前:打印的是包名类名@地址值
* 重写后:打印的是对象中的属性值
* public boolean equals(obiect obj): 指示其他某个对象是否与此对象“相等”。
* 作用:比较两个对象是否相同
* 重写前:比较的是对象的地址值
* 重写后:比较的是对象中的属性值
* 在JDK7添加了一个0bjects工具类 ,它提供了一些方法来操作对象 ,它由一些静态的实用方法组成 ,这些方法是
null-save (空指针安全的)或null-tolerant (容忍空指针的) , 用于计算对象的hashcode、返回对象的字符串表
示形式、比较两个对象。
* 在比较两个对象的时候, Object的equals方法容易抛出空指针异常,而Objects类中的equals方法就优化了这个问
题。方法如下:
* public static boolean equals(object a, Object b) :判断两个对象是否相等。但加了一些健壮性的判断。
* 源码如下:
* public static boolean equals(Object a, object b) {
return (a == b) | (a != null && a.equals(b));
}
* java.util.Date类表示特定的瞬间,精确到毫秒。
* 查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把
毫秒值转成日期对象。
* public Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到亳秒)。
* public Date(long date) ] :分配Date对象并初始化此对象,以表示自从标准基准时间(称为"历元
( epoch )",即1970年1月1日00:00:00 GMT )以来的指定毫秒数。
* tips:由于我们处于东八区,所以我们的基准时间为1970年1月1日8时0分0秒。
* long getTime?() 返回自1970年1月1日以来,由 Date对象表示的00:00:00 GMT的毫秒数。
* java. text . DateFormat :是日期/时间格式化子类的抽象类
作用:
格式化(也就是日期->文本)、解析(文本->日期)
成员方法:
String format(Date date) 按照指定的模式, 把Date日期,格式化为符合模式的字符串
Date parse(String source) 把符合模式的字符串,解析为Date日期
DateFormat类是一个抽象类,无法直接创建对象使用,可以使用DateFormat的子类
java. text . SimpleDateFormat extends DateFormat
构造方法:
SimpleDateFormat(String pattern)用给定的模式和默认语言环境的日期格式符号构造Simpl eDateFormat.
参数:
string pattern:传递指定的模式
模式:区分大小写的
y 年 M 月 d 天 H 时 m 分 s 秒
写对应的模式,会把模式替换为对应的日期和时间
"yyyy-MM-dd HH:mm:ss”
注意:
"yyyy年MM月dd日HH时mm分ss秒”
模式中的字母不能更改,连接模式的符号可以改变
* Calendar类的成员方法:
* public int get(int field):返回给定日历字段的值。
* public void set(int field, int value): 将给定的日历字段设置为给定值。
* public abstract void add(int field, int amount): 根据日历的规则,为给定的日历字段添加或减去指定的时间量。
* public Date getTime(): 返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
* public static double random?()返回值为double的正值,大于等于0.0 ,小于1.0 。 返回的值是从该范围(大约)均匀分布的伪随机选择的。
* 生成一个0-10之间的整数随机数:
* int num = (int)(Math.random()*10);
* 求一个数的幂次方:
* Math.pow(double a,double b);
* 常用方法:
* public static long currentTimeMillis():返回以毫秒为单位的当前时间。
* public static void arraycopy(object src, int srcPos, object dest, int destPos, int length):
将数组中指定的数据拷贝到另一个数组中。
* 从版本JDK 5开始,StringBuffer已经被一个等同的类补充了,它被设计为使用一个线程, StringBuilder 。 通常应该使用StringBuilder类,
因为它支持所有相同的操作,但它更快,因为它不执行同步。
* 构造方法:
* java. lang. StringBuilder类:字符串缓冲区,可以提高字符串的效率
构造方法:
- public StringBuilder(): 构造-个空的StringBuilder容器 。
- public StringBuilder(String str): 构造-个StringBuilder容器, 并将字符串添加进去。
* 常用方法:
* public StringBuilder append(...) :添加任意类型数据的字符串形式,并返回当前对象自身。
* public String toString():将当前StringBuilder对象转换为String对象。
* StringBuilder reverse?() 导致该字符序列被序列的相反代替。
* String toString?() 返回表示此顺序中的数据的字符串。
* String类和StringBuilder类的区别:
* String类:
字符串是常量;它们的值在创建之后不能更改。
字符串的底层是一个被final修饰的数组,不能改变,是一个常量
private final byte[] value;
进行字符串的相加,内存中就会有多个字符串,占用空间多,效率低下
* StringBuilder类:
字符串缓冲区,可以提高字符串的操作效率(看成一个长度可以变化的字符串)
底层也是一个数组,但是没有被final修饰, 可以改变长度
byte[] value = new byte[16];
StringBuilder在内存中始终是一个数组,占用空间少,效率高
如果超出了StringBuilder的容量,会自动的扩容
* StringBuilder和string可以相互转换:
String->StringBuilder:可以使用StringBuilder的构造方法,
StringBuilder(String str) 构造一个字符串生成器,并初始化为指定的字符串内容。
StringBuilder->String:可以使用StringBuilder中的tostring方法
public String toString(): 将当前StringBuilder对象转换为String对象。
* 包装类概念:基本数据类型的数据,使用起来非常的方便但是没有对应的方法来操作这些数据所以我们可以
使用一个类,把基本类型的数据包装起来这个类叫包装类在包装类中可以定义一些方法用来操作基本类型的数据。
基本类型 | 对应的包装类(位于java.lang包中) |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
* 拆箱与装箱
基本类型与对应的包装类对象之间,来回转换的过程称为”装箱”与”拆箱" 。
* 装箱:从基本类型转换为对应的包装类对象。
* 构造方法:
Integer(int value) 构造一个新分配的Integer 对象,它表示指定的int值。
Integer(String s)构造一个新分配的Integer 对象,它表示String 参数所指示的int 值。
传递的字符串,必须是基本类型的字符串,否则会抛出异常"100" 正确"a” 抛异常
* 静态方法:
static Integer value0f(int i)返回一个表示指定的int值的Integer 实例。
static Integer value0f(String. s) 返回保存指定的String 的值的Integer 对象。
* 拆箱:从包装类对象转换为对应的基本类型。
* 成员方法:
int intValue() 以int类型返回该Integer 的值。
* 自动装箱与自动拆箱
基本类型的数据和包装类之间可以自动的相互转换,JDK1. 5之后出现的新特性。
* 自动装箱:直接把int类型的整数赋值给包装类
Integer in =1;就相当于Integer in = new Integer(1);
* 自动拆箱: in是包装类,无法直接参与运算,可以自动转换为基本类型的数据,再参与计算
in + 2;就相当于in. intValue() + 2 = 3;
in = in + 2;就相当于in = new Integer(3) 自动装箱
* 基本类型与字符串之间的转换
* 基本类型--->字符串
1.基本类型数据的值+"" 最简单的方式(工作中常用)
2.使用包装类中的静态方法
static String toString(int i)返回-一个表示指定整数的String 对象。
3.使用String类中的静态方法
static String value0f(int i) 返回int 参数的字符串表示形式。
* 字符串--->基本类型
使用包装类的静态方法parseXX( "字符串")
Integer类: static int parseInt(String s)
Double类:static double parseDouble(String s)
原文:https://www.cnblogs.com/ITHSZ/p/13271781.html