点'.' 在Java中的接口名称Map.Entry中

get*_*one 0 java

据我所知,一个人不能拥有'.' 在java中的类或接口名称中.但是,看起来Map.Entry接口不遵循该规则.请纠正我的理解或背后的原因'.'.

it'*_*tch 7

读这个:

https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true

条目嵌套在Map中,您使用点('.')来访问它.

请阅读此内容:https://dzone.com/articles/what-inner-interface-java

引自dzone(第二个链接):

内部接口也称为嵌套接口,这意味着在另一个接口内声明接口.例如,Entry接口在Map接口中声明.

public interface Map {
    interface Entry{
        int getKey();
    }

    void clear();
}
Run Code Online (Sandbox Code Playgroud)

为什么使用内部接口?

使用内部接口有几个令人信服的理由:

  • 它是一种逻辑分组仅在一个地方使用的接口的方法.

  • 它增加了封装.

  • 嵌套接口可以使代码更具可读性和可维护性.

java标准库中使用的内部接口的一个示例是java.util.Map和Java.util.Map.Entry.这里java.util.Map也用作命名空间.条目不属于全局范围,这意味着有许多其他实体是条目,并且不是Map的条目.这表示Entry表示与Map相关的条目.