Java语法
Map.Entry
- 是一个接口,是Java的Map接口的一部分。Map.Entry接口的实例表示Map中的一个键值对。
- 有两个主要的方法
-
-
- entrySet()也是Map接口的一个方法
-
-
-
-
-
-
- foreach只能遍历集合,Map.Entry提供了一个键值对集合
内部类 Inner Class
- 是定义在一个类内部的类,一个嵌套的类,与外部类一起存在
- 可以访问外部类的私有属性和方法
- 不需要对外暴露,更适合实现细节操作和功能
- 应用场景:
- 1.实现回调callback:当一个类需要调用另一个类的方法,但又不全定这个方法什么时会被执行时,可以使用内部类进行回调。eg.,GUI编程中,用户点击按钮,按钮的监听器就是一个内部类。
- 2.实现观察者模式(Observer Pattern):在这种模式中,一个对象(被观察者)维护一个依赖于它的对象列表(观察者),并通知他们任何状态更改。观察者模式是一种行为设计模式,用于在对象直接建立一种一对多的依赖关系,这样一来,当一个对象改变状态时,所有依赖于它的对象都会得到通知并自动更新。观察者模式通常使用内部类实现。
- 辅助类(Helper Class)有时我们需要编写一些辅助方法来帮助完成类主要工作。这些辅助方法坑不需要对外暴露,这时就可以使用内部类。例如,在解析XML或JSON时,可以使用内部类来辅助生成解析器。