我想强制用户在调用构造函数时填写可选参数:
public MyClass(String... params) {
this.params = params;
}
目前,以下代码有效:
new MyClass();
我想阻止它。我想到了这一点:
public MyClass(String param1, String... otherParams) {
this.params = new String[1 + otherParams.length];
this.params[0] = param1;
// fill 1..N params from otherParams
}
String[] params
不是一个选项,因为我需要能够使用逗号分隔的参数。
有什么好的解决方案来实现这一目标吗?请不要说 varargs 参数必须是可选的。问题不是这个。
也许下面是一个额外的默认构造函数?
/**
* Please provide at least one parameter.
*/
@Deprecated
public MyClass() {
throw new IllegalStateException("Please provide at least one parameter");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)