Object类中的equals和toString方法
- Object中的equals方法内部采用的是“==”运算符,仅判断两个对象的内存地址是否一样。在开发过程中,比较的往往是两个对象的属性值是否一样,因此需要对equals进行重写。因为equals传入的参数是Object类型的对象,在重写equals的过程中,对传入对象进行类型判断和类型转换是非常有必要的!!!
public boolean equals(Object obj){
//判断当前的对象和传入的对象地址是否一致
if(this == obj){
return true;
}
//判断传入的类型和当前类型是否一致,或传入的类型是否可转为当前类型(当前类型定位Person)
if(!(Person instanceof obj)){
return false;
}
//将传入对象的类型转为Person类型
Person p = (Person)obj;
//property指的是要判断的类型
return p.property == this.property;
}
- Object中的toString()方法返回的是 数据类型 + @ +内存地址值,在实际开发中看到内存地址值往往没有什么价值,经常需要对toString()方法进行重写。
class Person extends Object{
int age;
public String toString(){
//这里是以一个局部变量进行举例
return "Person [age = " + age + "]";
}
}
String类型
- 两种不同的字符串创建方式:
//创建字符串的方法1
String S1 = "abc";
//创建字符串的方法2
String S2 = new String("qwe");
方式一:内存中只有一个对象,该对象存在于字符串常量池中;
方式二:内存中会出现两个对象,一个对象在堆中,另一个在字符串常量池中;
- String类型的常用方法
- length() 返回字符串的长度
- substring(int begin,int end) 返回一个新的字符串,是此字符串的子串
- startsWith(String prefix) 测试字符串是否以指定前缀开头
- endWith(String suffix) 测试字符串是否以指定后缀结尾
- contains(CharSequence s) 包含s序列 则返回true
- indexOf(String str) 返回子字符串第一次出现的索引
- toCharArray() 将字符串转成新的字符数组
- matches(String regex) 字符串是否匹配给定的正则表达式
- split(String regex) 根据给定正则表达式的匹配差费字符串
StringBuffer/StringBuilder类
- append(String str) 将指定字符串追加到此字符序列
- delete(int start, int end)删除子字符串中的字符
- insert(int offset,String str)将指定字符串插入到此字符序列中
- replace(int start, int end, String str) 用给定的字符串str替换替换此字符串中的指定字符
- reverse()用其翻转形式取代当前字符串
- toString() 返回序列中数据的字符串表示形式
System类
- 常用方法
currentTimeMillis() 返回毫秒单位的当前时间
exit(int status) 终止当前运行的虚拟机
gc() 运行垃圾回收器
getProperty(String key) 获取指定键指示的系统属性
Math类
- 常用方法
abs()、ceil()、floor()、max()、min()、pow()、ceil()、random()、round()
Array类
- 常用方法
binarysearch(int[] a, int key) 使用二分法对数组a进行搜索,寻找key值
sort(int[] a) 对数组a进行升序排列
toString(int[] a)返回数组内容的字符串表示形式