概述
常用类(API)
java系统中提供的一些使用频率较高的类。
API: java系统中提供的一系列类和接口
api文档:官方给java开发者提供的对类和接口功能说明的文档
Object
java .lang .Object 是java类体系中最顶级的,万类之祖
当输出一个对象时,会默认调用类中的toString()方法,把对象以字符串形式输出。
类中如果没有toString(),那么会调用父类(Object)中的toString()
p1.equals(p2);//equals用来比较对象中的内容是否相等(注:Object类的equals方法比的仍然是地址)
//==用于基本类型比较时,比较的是值是否相等。
//==用于引用类型比较时,比较的是地址是否相等。
- Object类equals比较对象时:
public class Equal {
String name;
int age;
public Equal(String name,int age){
this.age=age;
this.name=name;
}
}
public class EqualTest {
public static void main(String[] args) {
Equal equal1=new Equal("e1",1);
Equal equal2=new Equal("e1",1);
System.out.println(equal1.equals(equal2));
}
}
运行结果:
解决方法:重写Object里的equals
public class Equal {
String name;
int age;
public Equal(String name,int age){
this.age=age;
this.name=name;
}
@Override
public boolean equals(Object obj) {
Equal equal=(Equal)obj;
return this.name.equals(equal.name)&&this.age==equal.age;
}
}
public class EqualTest {
public static void main(String[] args) {
Equal equal1=new Equal("e1",1);
Equal equal2=new Equal("e1",1);
System.out.println(equal1.equals(equal2));
}
}
运行结果:
Arrays
equals:
- 格式:
int[] a={1,2,3,4};
int[] b={1,2,3,4};
System.out.println(a.equals(b));//返回false,因为此时调用的是Object里的equals。
System.out.println(Arrays.equals(a,b));//返回true
- 比较的是类中的元素;
Arrays.binarySearch ():
二分查找
- 注意:
- 需要数组有序;
- 如果数组中不包含需要查找的数则返回负数。
- 格式:
int[] a={1,2,3,4};
int[] b={1,2,3,4};
Arrays.binarySearch(a,2);//在a数组中查找2
Arrays.binarySearch(a,1,2,2);//在a数组中查找1到2位置上是否有2
int index=Arrays.binarySearch(a,4);
System.out.println(index);
Arrays.copyOf():
数组扩充
- 格式:
int[] a={1,2,3,4}
System.out.println(Arrays.toString(a));//[1, 2, 3, 4]
a=Arrays.copyOf(a,8);
System.out.println(Arrays.toString(a));//[1, 2, 3, 4, 0, 0, 0, 0]
Arrays.sort()
int[] a={2,3,1,4};
Arrays.sort(a);//{1,2,3,4}