假设我有一个方法:
Map<String,Object> getData()
什么是记录它将包含哪些键和值的好方法,假设这些键的可能键和对象类型列表是已知的?
[编辑]
假设我无法以一种需要更改其他代码的方式更改方法,我怎样才能明智地记录它?
答案 0 :(得分:2)
我建议使用列出这些键的枚举(如果在你的情况下有意义的话,可能还有另一个用于值类)。假设您事先知道所有潜在密钥,那将是最有意义的。从那里开始:如果您的密钥真的是已知且有限的,那么为什么使用字符串作为密钥?您也可以改为Map<EnumForKeys, Object>
。
好处是你可以在每个枚举常量上放置好的javadoc;见here。你知道,假设每个不同的键都修复了值类,你可以在Enum上放一个实际上直接告诉你值类的方法。
下一个但不太吸引人的选择是在某个地方安装一些静态List,它包含所有潜在的密钥。
编辑:鉴于您的最后评论选项当然非常有限。在这种情况下,您仍然可以使用枚举列出潜在的键,并将{@link}
放入方法的javadoc中。当然,所有这些都只是“非正式的”;但是,总比没有好。