1.system类
方法:exit(0),jvm退出
2.Object类
toString方法:
Student s=new Student(21,"weixianchuang");
System.out.println(s);
输出s是一串字符,为什么呢?
点println看源代码,发现最后就是Object类的toString方法,输出的是该对象的一个字符串,所以在类中重写toString,让输出看着更舒服和合理。
equals方法:
Object类的equals方法:
Student s1=new Student(21,"weixianchuang");
//用object的equals方法比较两个对象是否相同
System.out.println(s.equals(s1));
/*
public boolean equals(Object obj) {
return (this == obj);
this 表示s
obj表示s1
==还是在比较两个地址是否相同;
}
*/
我想比较两个对象内容是否相同,看源码但是发现equals方法比较的还是两个对象的地址是否相同,
@Override
public boolean equals(Object o) {
if (this == o) return true;
//如果地址相同,两个对象自然相同
if (o == null || getClass() != o.getClass()) return false;
//o为空或者两个对象是否是同一个类,满足其一则返回false
//不是同一个类自然对象也不可能相同;
Student student = (Student) o;
//s1传递过来的时候已经向上转型了,变成了Object型,而只有学生类对象与s对象相比较,因为s
//对象也是学生类,故向下转型回到学生类对象。
if (age != student.age) return false;
//判断年龄是否相等
return name != null ? name.equals(student.name) : student.name == null;
/*
如果s的名字不为空则,判断两者名字是否相等,相等返回ture,不相等返回false
*/
}
重写后才可以比较对象内容是否相同。
3.Arrays类
Arrays类中的sort方法可以直接排序,以后不需要直接写排序,直接用这个方法就可以了,
Arrays类中的toString方法可以将数组的内容以字符串的形式返回。
4.字符串中数据排序
/*
将一个字符串中的数据排序
1.将字符串数据中数字取出,用String中split的方法,装在一个字符串数组中
2.将字符串数组的元素赋值给int类型的数组,用integer类中的parseInt方法
3.用arrays中的sort方法排序
4.将排完序的数组用StringBuilder中的append方法进行拼接,
5.用toString方法将拼接好的StringBuilder类型转化为String类型
*/
public static void main(String[] args) {
String s="23 65 43 9 8 76";
String[] arr = s.split(" ");
int[] array=new int[arr.length];
for(int i=0;i<arr.length;i++)
{
System.out.println(arr[i]);
}
for(int i=0;i<arr.length;i++)
{
array[i]=Integer.parseInt(arr[i]);
}
Arrays.sort(array);
StringBuilder sb=new StringBuilder();
for(int i=0;i<arr.length;i++)
{
if(i==arr.length-1)
{
sb.append(array[i]);
}
else
sb.append(array[i]).append(" ");
}
String s1 = sb.toString();
System.out.println(s1);