API_常用类
==与equals
package day2;
public class api {
public static void main(String[] args) {
String str0=new String("123");
String str1=new String("123");
//==引用数据类型的对象的地址是否相等。
System.out.println(str0==str1);//false
//判断值是否相等
System.out.println(str0.equals(str1));//true
String str2="12345";
String str3="12345";
//同一个对象
System.out.println(str2==str3);//true
System.out.println(str2.equals(str3));//true
int a=12;
int b=12;
//基本数据类型没有equals方法
System.out.println(a==b);//true
Integer i0=new Integer(12);
Integer i1=new Integer(12);
System.out.println(10==i1);//false
System.out.println(i0.equals(i1));//true
Integer i2=12;
Integer i3=12;
System.out.println(i2==i3);//true
System.out.println(i2.equals(i3));//true
}
}
排序Arrays.sort ,comparable 与comparator
package Day3;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int array[]=new int[]{12,59,36,78,12,74,36,2,23};
Arrays.sort(array);//排序
System.out.println(Arrays.toString(array));
Integer []arr={18,25,36,798,24,1};
Arrays.sort(arr);//排序 实现了comparable接口
System.out.println(Arrays.toString(arr));
String str[]={"b","x","a","v"};
Arrays.sort(str);//排序 实现了comparable接口
System.out.println(Arrays.toString(str));
}
}
comparable
package Day3;
//student实现了comparable接口
public class Student implements Comparable<Student>{//泛型
private String name;
private int age;
public Student(String name,int age) {
this.name = name;
this.age=age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
//重写compareTo方法
@Override
public int compareTo(Student o) {
return this.age-o.age;//小到大
}
}
package Day3;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
/*int array[]=new int[]{12,59,36,78,12,74,36,2,23};
Arrays.sort(array);//排序
System.out.println(Arrays.toString(array));
Integer []arr={18,25,36,798,24,1};
Arrays.sort(arr);//排序 实现了comparable接口
System.out.println(Arrays.toString(arr));
String str[]={"b","x","a","v"};
Arrays.sort(str);//排序 实现了comparable接口
System.out.println(Arrays.toString(str));*/
Student stu[]=new Student[3];
stu[0]=new Student("abc",21);
stu[1]=new Student("lyh",20);
stu[2]=new Student("cjr",22);
Arrays.sort(stu);//调用该方法时调用compareTo方法
System.out.println(Arrays.toString(stu));
}
}
package Day3;
//student实现了comparable接口
public class Student implements Comparable<Student>{//泛型
private String name;
private int age;
public Student(String name,int age) {
this.name = name;
this.age=age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
//重写compareTo方法
@Override
public int compareTo(Student o) {
return this.name.compareTo(o.name);//小到大字符串的比较
}
}
package Day3;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
/*int array[]=new int[]{12,59,36,78,12,74,36,2,23};
Arrays.sort(array);//排序
System.out.println(Arrays.toString(array));
Integer []arr={18,25,36,798,24,1};
Arrays.sort(arr);//排序 实现了comparable接口
System.out.println(Arrays.toString(arr));
String str[]={"b","x","a","v"};
Arrays.sort(str);//排序 实现了comparable接口
System.out.println(Arrays.toString(str));*/
Student stu[]=new Student[3];
stu[0]=new Student("abc",21);
stu[1]=new Student("lyh",20);
stu[2]=new Student("cjr",22);
Arrays.sort(stu);//调用该方法时调用compareTo方法
System.out.println(Arrays.toString(stu));
}
}
Comparator
package Day3;
//student实现了comparable接口
public class Student {//泛型
private String name;
private int age;
public Student(String name,int age) {
this.name = name;
this.age=age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
//重写compareTo方法
}
package Day3;
import java.util.Arrays;
import java.util.Comparator;
class my implements Comparator<Student>{
@Override
public int compare(Student o1, Student o2) {
return o1.getName().compareTo(o2.getName());//小到大
}
}
public class Test {
public static void main(String[] args) {
/*int array[]=new int[]{12,59,36,78,12,74,36,2,23};
Arrays.sort(array);//排序
System.out.println(Arrays.toString(array));
Integer []arr={18,25,36,798,24,1};
Arrays.sort(arr);//排序 实现了comparable接口
System.out.println(Arrays.toString(arr));
String str[]={"b","x","a","v"};
Arrays.sort(str);//排序 实现了comparable接口
System.out.println(Arrays.toString(str));*/
Student stu[]=new Student[3];
stu[0]=new Student("abc",21);
stu[1]=new Student("lyh",20);
stu[2]=new Student("cjr",22);
Arrays.sort(stu,new my());//调用该方法时调用compareTo方法
System.out.println(Arrays.toString(stu));
}
}