Object
Object类是所有类的父类。任何类如果没有特殊说明继承哪个类,那么这个类默认继承Object类。
Object类的常用方法
方法 | 说明 |
---|---|
Object clone() | 创建并返回此对象的副本(地址不同) |
boolean equals(Object) | 指示一些其他对象在地址上是否等于此 |
void finalize() | 当垃圾回收器确定不存在对该对象的更多引用时,对象的圾回收器调用该方法 |
Class getClass() | 返回一个对象运行时的实例类(.class文件) |
int hashCode() | 返回该对象的散列码值 |
void notify() | 激活等待在该对象的监视器上的一个线程 |
void notifyAll() | 激活等待在该对象的监视器上的全部线程 |
String toString() | 返回该对象的字符串表示,默认返回运行时类名+@+对象的hashCode的16进制数 |
void wait() | 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待 |
注意:
- 如果两个对象的哈希码值不同,那这两个对象一定不等;
- 如果两个对象的哈希码值相同,不能确保这两个对象一定相等。
- 克隆对象对应的类需要实现Cloneable接口,否则会报错:java.lang.CloneNotSupportedException
对于最后一点做一个说明:https://www.cnblogs.com/yangfei629/p/11392034.html
//主程序
public class Test1{
public static void main(String[] args) {
Pet pet1 = new Pet();
try {
Object clone = pet1.clone();
System.out.println(pet1);
System.out.println(clone);
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
}
//Pet类实现Cloneable接口
public class Pet implements Cloneable{
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
String
字符串常量,创建之后一般不改变。
String类的常用方法
方法 | 说明 |
---|---|
public int length() | 返回此字符串的长度 |
public char charAt(int index) | 返回char指定索引处的值 |
public boolean contains(CharSequence s) | 当且仅当此字符串包含指定的char值序列时才返回true |
public char[] toCharArray() | 将此字符串转换为新的字符数组 |
public int indexOf(String str) | 返回指定子字符串第一次出现的字符串内的索引 |
public String trim() | 返回一个字符串,其值为此字符串,并删除任何前导和尾随空格 |
public String toUpperCase() | 字符串全部转换为大写 |
public boolean endsWith(String suffix) | 测试此字符串是否以指定的后缀结尾 |
public String replace(char oldChar,char newChar) | 旧字符串替换成新字符串 |
public String[] split(String regex) | 将此字符串以regex为分割点进行拆分 |
StringBuffer
可变长字符串,运行效率慢,线程安全。(多线程推荐使用)
StringBulider
可变长字符串,运行效率快,线程不安全。(单线程推荐使用)
两者常用方法:
方法 | 说明 |
---|---|
append(String str)/append(Char c) | 字符串追加 |
setCharAt(int i, char c) | 将第 i 个代码单元替换为 c |
insert(int offset, String str)/insert(int offset, Char c) | 在指定位置之前插入字符(串) |
delete(int startIndex,int endIndex) | 删除起始位置(含)到结尾位置(不含)之间的字符串 |
Calendar
Calendar提供了获取或者设置各种日历字段的方法
构造方法:
- protected Calendar():由于修饰符是protected,所以无法直接创建该对象
常用方法:https://blog.csdn.net/yx0628/article/details/79317440
SimpleDateFormat
一些符号如下:http://www.blogjava.net/redcreen/articles/70536.html
Date date=new Date();
SimpleDateFormat sdf= new SimpleDateFormat("dd MMM yyyy kk:mm:ss zzz");
System.out.print(sdf.format(date));