黑马程序员——使用equals实现对象的比较
来源:互联网 发布:联通首选网络类型 编辑:程序博客网 时间:2024/06/05 22:55
/*
要比较两个对象是否相等,需要调用object类中equals()方法,如有两对象A,B,但单纯调用equals()方法,如A.equals(B),不论两对象的值是否相等都会返回false,因为此处的equals()调用的是object类中的方法,只提供相当于地址的比较。这样,我们就需要在子类中重写该方法,来实现我们的需求。
*/
public static void main(String[] args) {
int[] arr = {100, 200, 300, 500, 800, 321, 123, -50, -55};
Printer.print(arr);
Printer.print(arr, new EvenFilter());
// 使用匿名内部类形式, 定义一个过滤器, 打印出大于300的数
}
}
class Printer { // 打印机
public static void print(int[] arr) { // 打印int[]中的元素, 打印成一行, 用空格分隔每个元素
for (int i = 0; i < arr.length; i++)
System.out.print(arr[i] + " ");
System.out.println();
}
public static void print(int[] arr, IntFilter filter) {
for (int i = 0; i < arr.length; i++) // 循环遍历数组
if (filter.accept(arr[i])) // 把每一个数传入过滤器, 判断是否要打印
System.out.print(arr[i] + " ");
System.out.println();
}
}
interface IntFilter { // 过滤器
boolean accept(int x); // 接收一个int, 返回一个boolean
}
class OddFilter implements IntFilter { // 奇数过滤器
public boolean accept(int x) {
return x % 2 != 0;
}
}
class EvenFilter implements IntFilter { // 偶数过滤器
public boolean accept(int x) {
return x % 2 == 0;
}
}
---------------------- android培训、java培训、期待与您交流! ----------------------
- 黑马程序员——使用equals实现对象的比较
- 黑马程序员——equals方法实现总结
- 黑马程序员——equals和==的区别
- 黑马程序员—C# equals与==的区别
- 黑马程序员_对象的比较
- 黑马程序员——流对象的选择使用
- 黑马程序员——HashCode与equals
- 黑马程序员——java第八天:面向对象(多态、Object-equals&-toString)
- 对象的比较及hashCode、equals方法的使用
- 黑马程序员—面向对象的概念
- 黑马程序员_Java实现对象的排序
- JSP中使用equals实现字符串之间的比较
- 黑马程序员-Java中比较实用的对象总结
- 黑马程序员_对象流的使用
- 《黑马程序员》io---file对象的使用
- 黑马程序员——Java基础---关于equals和==的区别的理解
- 黑马程序员——面向对象4:对象的初始化
- 黑马程序员——对象
- 嵌入式Linux编译器gcc使用
- 读书笔记_栈
- ref 与 out 参数
- maven 插件配置汇总小计
- PHP 调用java
- 黑马程序员——使用equals实现对象的比较
- linux解压 tar命令
- 一段最短的代码,用上js所有关键字
- socket 与 mina 交互数据
- Memcached--分布式缓存
- PHP cookie session
- webm convert
- 算法导论-第19章-二项堆
- Android 中自定义属性