Object类
Object类是所有Java类的根父类
如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类
public class Person{
...
}
等价于:
publicclass Person extends Object{
...
}
引用类型比较引用(是否指向同一个对象);
Personp1=newPerson();Personp2=newPerson();
if(p1==p2){…}
基本类型比较值;inta=5;if(a==6){…}
用"=="进行比较时,符号两边的数据类型必须一致(可自动转换的基本数据类型除外),否则编译出错;
equals()方法:
是Object类的方法,由于所有类都继承Object类,也就继承了equals()方法。
只能比较引用类型,
在Object类的定义中,其作用与“==”相同,比较是否指向同一个对象。格式:obj1.equals(obj2)
注意:对类File、String、Date、封装类(WrapperClass)及很多重写了equals()方法的类来说,是比较类型及内容而不考虑引用是否指向同一个对象。
toString方法:
在Object类中定义,其返回值是String类型,内容为类名以及该对象的引用地址。
在进行String与其它类型数据的连接操作时,自动调用toString()方法。
可以根据需要在用户自定义类型中重写toString()方法
比如String 类就重写了toString()方法,返回字符串的值。
s1=“hello”;
System.out.println(s1);
相当于
System.out.println(s1.toString());
基本类型数据转换为String类型时,调用了对应封装类的toString()方法例如:
inta=10;
System.out.println(“a=”+a);
String类
常量对象:字符串常量对象是用双引号括起的字符序列,例如:"你好"、"12.97"、"boy"等。
String类较常用构造方法:
String(常量对象),
String (char a[]),
String(char a[],intstartIndex,intcount)
常见的String方法
public booleanstartsWith(String s)
public booleanendsWith(String s):判断当前字符串对象的前缀(后缀)是否是
参数s指定的字符串
public intcompareTo(String s):按字典序与参数s指定的字符串比较大小
public intcompareToIgnoreCase(String s)
public booleancontains(String s):判断当前字符串对象是否含有参数指定的字
符串s
pubic String replace(char oldChar,charnewChar)
public String replaceAll(String old,Stringnew)
public String concat(String str)
public intindexOf(String s):从头开始检索字符串s,并返回首次出现s 的位置
indexOf(String s ,intstartpoint)
lastIndexOf(String s)
public String substring(intstartpoint):获得一个当前字符串的子串
substring(intstart ,intend)
public String trim(): 得到一个去掉前后空格后的字符串对象
字符串的长度length()
public String[] split(String regex)按照regex将当前字符串,拆分成多个字符
串,整体构成一个字符串数组
StringBuffer类
String:不可变的字符序列
StringBuffer:可变的字符序列
String s = new String("Hello");
StringBufferbuffer = new StringBuffer("Hello");
buffer.append("World");
StringBuffer类的常用方法
StringBufferappend(String s); StringBufferappend(Object o);
StringBufferappend(char n); StringBufferappend(intn);
StringBufferappend(long n); StringBufferappend(booleann);
StringBufferappend(float n); StringBufferappend(double n);
public chat charAt(intn );
public void setCharAt(intn ,char ch);
StringBufferinsert(intindex, String str);
public StringBufferreverse();
StringBufferdelete(intstartIndex, intendIndex);
StringBufferreplace( intstartIndex,intendIndex, String str);
StringBuffer:可变字符序列、线程安全、效率低
StringBuilder:可变字符序列、线程不安全、效率高