在Java中调用方法之前检查参数的数量
在我的程序中,我有一个方法如下
private void foo(String title, String[] subtitles, int ... subtitleValues)
我的要求是
- 字幕数和字幕值必须相等。用户可以发送任意数量的字幕和字幕值,但正如我所说,字幕和字幕值的数量相等强>
我不想接受这两个参数并在foo
函数中检查它们的计数,然后说由于字幕和字幕值不相等,无法创建表。我想要的是;防止用户发送不相等的参数。我该怎么做
提前谢谢
PS:我没有找到合适的标题,所以如果你找到了,请随意更改
# 1 楼答案
创建一个包含副标题、副标题值对的类。让您的方法接受此类实例的vararg(或列表或数组)
# 2 楼答案
你不能这样做。要想让方法更难被错误调用,您所能做的就是对构建器使用流畅的API,如下所示:
为了简洁起见,我省略了实现。然后你可以这样称呼它:
# 3 楼答案
在这种情况下,您应该创建可能单独的类Subtitle,它代表字幕。并创建适当的构造函数或方法来逐个添加字幕
然后将你的foo方法重新表述为: