Java中提供的object类全在External library中
解释说明:Object类是Java官方提供的类,是存放在Java.lang包之中,Java中所有定义的类基本上就是object的直接或间接子类,任何都是自动的默认其就是object的子类
来自object类的一些方法:
-
hashCode()
方法给对象返回一个hash code值。这个方法被用于hash tables,例如HashMap。
-
在String类中定义的hashcode()方法如下:
public int hashCode() {
int h = hash;
if (h == 0) {
int off = offset;
char val[] = value;
int len = count;
for (int i = 0; i < len; i++) {
h = 31 * h + val[off++];
}
hash = h;
}
return h;
}
-
equals()
方法是用来判断其他的对象是否和该对象相等.
- string 、Math、Integer、Double等这些封装类在使用equals()方法时,已经覆盖了object类的equals()方法。并且这些类都是重写了equals()方法的,从而进行的是内容的比较。当然,基本类型是进行值的比较。
- 比如在string类中的比较:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = count;
if (n == anotherString.count) {
char v1[] = value;
char v2[] = anotherString.value;
int i = offset;
int j = anotherString.offset;
while (n– != 0) {
if (v1[i++] != v2[j++])
return false;
}
return true;
}
}
return false;
}
Java 中的任何一个类都会继承objects 类里的pubic和protect方法 ,既然可以继承,那就一定可以重写,常见的重写的类有:
-
toString() 方法用于返回以一个字符串表示的 Number 对象值。
- toString(): 返回表示 Integer 值的 String 对象。(就是Integer类型的 x ,直接调用此方法)
- toString(int i): 返回表示指定 int 的 String 对象。
- 直接上代码:
public class Test{
public static void main(String args[]){
Integer x = 5;
System.out.println(x.toString());
System.out.println(Integer.toString(12));
}
}
5
12
- 注解:相当于就是若A是Integer的类型,就直接调用toString()方法函数,若只是调用普通的int类型,就只能用Integer.toString(int i)
2.equals() 方法用于将字符串与指定的对象比较。String 类中重写了 equals() 方法用于比较两个字符串的内容是否相等。
- 如果给定对象与字符串相等,则返回 true;否则返回 false。
public class Test {
public static void main(String args[]) {
String Str1 = new String("runoob");
String Str2 = Str1;
String Str3 = new String("runoob");
boolean retVal;
retVal = Str1.equals( Str2 );
System.out.println("返回值 = " + retVal );
retVal = Str1.equals( Str3 );
System.out.println("返回值 = " + retVal );
}
}
返回值 = true 返回值 = true
包装类
包装类是Java提供的一组类,专门用来创建8种基本数据类型对应的对象,一共8种类,存放在java.lang包之中,后面的是包装类
byte Byte
Int. Integer
long Long
float. Float
bool. Boolean
char Character
short. Short
double. Double
- 基本数据类型和包装类之间的区别:
- 基本数据类型不能接受null
- 包装类:将基本数据类型封装成引用类型
2. 装箱:
- valueOf 静态方法
int num=1;
Integer use_num=Integer.valueOf(num);
- valueOf(String value)/valueOf(char value). 专门为character转换使用的,其他的7个包装类都可以使用valueOf(String value)——————其实就是专门针对string类型的进行转换
-
当使用boolean的valueOf来调用时,只有传入的为“true”,那么其才会返回True,任何其他的字符串“student”,“computer”这些时,都是返回的false
3. 拆箱:
- 每一个包装类都有一个*Value()方法,通过该方法将包装类转 换为基本数据类型
int num=1;
Integer use_num=Integer.valueOf(num);
int back_num=use_num.intValue();
-
toString 方法。每一个包装类都有此方法,就是将基本数据类型转换为String类型,但是记住这个方法都是在包装类之中才可以使用
int num=1;
String str=Integer.toString(num);
Double dou=5.55;
String str2=Double.toString(dou)