不可否認,我有以下實施不佳的課程: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
提交
取消