为什么未覆盖hashcode方法的pojo不能用作flink keyedstream的key

为什么未覆盖hashcode方法的pojo不能用作flink keyedstream的key
通过查看KeySelector代码可以发现,key需要满足的基础条件为:

The {@link KeySelector} allows to use deterministic objects for operations such as
reduce, reduceGroup, join, coGroup, etc. If invoked multiple times on the same object,
the returned key must be the same.

KeySelector为reduce, reduceGroup, join, coGroup等操作提供确切的对象作为key,如果多次使用这个对象时,该对象会返回相同的hashcode。

如果作为key的对象使用object的hashcode的方法,则相同的构造参数产出的多个对象得到的hashcode值也不相同,无法满足这个基础条件。