假设我有一个类似的方法:
Map<String,Object> getData()
假设已知可能的键列表以及这些键的对象类型,那么记录它将包含哪些键和值的好方法是什么?
[编辑]
假设我不能/不会以需要更改其他代码的方式更改该方法,我如何仍然明智地记录它?
最佳答案
我建议使用一个枚举来列出这些键(如果这对您的情况有意义的话,可能还可以使用另一个枚举来表示值类)。假设您确实预先知道所有潜在的键,那么这是最有意义的。从那里开始:如果您的 key 确实已知且有限,那么为什么要使用字符串作为 key ?你也可以这样做Map<EnumForKeys, Object>
相反。
好处是您可以在每个枚举常量上放置漂亮的 javadoc;请参阅here 。而且您知道,假设每个不同键的值类别都是固定的,您可以在该 Enum 上放置一个方法,该方法实际上直接告诉您值类别。
下一个但不太吸引人的选择是在某个地方有一些静态列表,其中包含所有潜在的键。
编辑:鉴于您最后的评论选项当然非常有限。在这种情况下,您仍然可以使用枚举来列出潜在的键,并放置 {@link}
进入你的方法的javadoc。当然,所有这些都只是“非正式的”;但好吧,总比没有好。
关于java - 如何为返回具有已知键的映射的方法编写 javadoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38835787/