不可否认,我有以下实施不佳的课程:public class Fari{ String name; String[] group; public Fari(String name, String... group) { this.name = name; this.group = group; } // getters, setters}这实际上是以这样一种方式计划的,即传递名称和至少一个组标签。但是我可以只用一个参数创建一个新的 Fari 对象而不会出现编译错误:Fari f = new Fari("A");以 group 属性为 null 的对象结尾。有没有办法强制将至少一个字符串作为可变参数参数传递?我可以将参数更改String... group为 aList<String>但我也必须接触所有其他类。除此之外,可以传递一个空列表,这对我没有真正的帮助。如果创建的对象应该有一个名称和至少一个组标签,我该怎么办?
2 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
解决这个问题的典型方法是
public Fari(String name, String requiredGroup, String... group)
ABOUTYOU
TA贡献1812条经验 获得超5个赞
group如果大小 < 1,您还可以检查大小并抛出错误。像这样:
public class Fari {
String name;
String[] group;
public Fari(String name, String... group) throws Exception {
this.name = name;
if (group.length < 1) throw new Exception();
this.group = group;
}
}
当然你可以使用你自己的Exception实现来在你的代码中识别它。
添加回答
举报
0/150
提交
取消