亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在使用帶有可變參數的構造函數時,我如何強制必須傳遞至少一個參數?

在使用帶有可變參數的構造函數時,我如何強制必須傳遞至少一個參數?

呼喚遠方 2023-05-17 15:08:53
不可否認,我有以下實施不佳的課程: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)


查看完整回答
反對 回復 2023-05-17
?
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實現來在你的代碼中識別它。


查看完整回答
反對 回復 2023-05-17
  • 2 回答
  • 0 關注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號