您没有将对象添加到集合中.你正在添加一个参考.
至于为什么HashTable不允许null键和值 - 这只是一个设计决定; 在某些情况下,禁用null键是有帮助的,而在其他情况下,它很烦人.HashMap 例如,允许空键和值.禁止null的原因有很多:
通常,空键或空值表示调用代码中的编程错误.在插入点拒绝此操作使得查找错误比等待代码获取值然后具有意外的null 更容易.
如果你知道 map中的值不能为null,那么你不需要单独检查包含然后获取:你可以获取,如果结果为null,你就知道密钥丢失了.
在map实现中处理null键需要更多的工作.虽然null值有时可能有用,但null键几乎从不.