0
我的代碼中有大量的布爾變量,我想將它們傳遞給一個函數。多個布爾變量作爲函數參數
public myClass {
boolean isA, isB, isC, isD, isE, isF, isG;
// loop to set booleans true or false
String str = addString(isA, isB, isC, isD, isE, isF, isG);
}
private String addString(boolean isA, boolean isB, boolean isC, boolean isE, boolean isF, boolean isG) {
//code
}
程序工作的方式它會在任何時候都有2-3個變量。我想避免所有這些布爾值作爲參數,所以我在考慮給真正的人進入一個ArrayList,如:
public myClass {
boolean isA, isB, isC, isD, isE, isF, isG;
// loop to set booleans true or false
ArrayList<boolean> list = new ArrayList();
if(isA) list.add(isA);
// same check for every variable
String str = addString(list);
}
private String addString(ArrayList<boolean>list) {
//code
}
有沒有什麼更好的辦法?我想知道每次傳遞哪個布爾值。
你能告訴你的代碼? – Mritunjay
長參數列表被視爲代碼異味。將所有這些布爾值包裹在一個類或一個Map中並傳遞該對象。 –
謝謝你的回答。我剛剛添加了一些代碼。 –