知识点回顾。
1 泛型只接收对象 定义泛型方法的方式
2 算法类最好将构造函数私有化
3 ==比较引用相同 equals 是比较值相同
代码1 查找写法
代码2 重学equals 方法
public class LinearSearch {
private LinearSearch(){};
public static <E> int search(E[] data,E target){
for (int i = 0;i<data.length;i++){
if(data[i].equals(target)){
return i;
}
}
return -1;
}
public static void main(String[] args) {
Integer data [] = {1,2,3,4,5};
System.out.println(LinearSearch.search(data,1));
System.out.println(LinearSearch.search(data,6));
}
}
public class Student {
private String name;
public Student(String name){
this.name = name;
}
@Override
public boolean equals(Object obj) {
if(this == obj){
return true;
}
if (obj == null){
return false;
}
if (this.getClass()!=obj.getClass()){
return false;
}
Student another = (Student) obj;
// return this.name.equals(another.name);
//不区分大小写
return this.name.toLowerCase().equals(another.name.toLowerCase());
}
}