如果列表少于3个,则用零填充列表

Joh*_*Joe 1 java sql checkbox

我有5个复选框,我已将选择限制为仅3.每个所选复选框的列表值将存储到数据库中,如果列表少于3个,则用零填充列表.如何用零填充列表?

List < Integer > preferences = new ArrayList < Integer > ();
if (chckbxLei.isSelected()) {
    preferences.add(Integer.valueOf(chckbxLei.getName()));

}

if (chckbxAdv.isSelected()) {
    preferences.add(Integer.valueOf(chckbxAdv.getName()));
}
if (chckbxHis.isSelected()) {
    preferences.add(Integer.valueOf(chckbxHis.getName()));
}
if (chckbxOut.isSelected()) {
    preferences.add(Integer.valueOf(chckbxOut.getName()));
}
if (chckbxFAK.isSelected()) {
    preferences.add(Integer.valueOf(chckbxFAK.getName()));
}

if (preferences.size() > 3) {
    JOptionPane.showMessageDialog(frame,
        "Please Select Only 3! ");
    return;

}
Place place = new Place();
try {
    place.addPre(preferences);
} catch (Exception e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

Place.java

public void addPre(List < Integer > preferences) throws Exception {
DatabaseConnection db = new DatabaseConnection();
Connection connect = db.getConnection();
String sql = "Insert into preferences(Pre1,Pre2,Pre3,Pre4,Pre5)VALUES (?,?,?,?,?) ";
PreparedStatement ps = connect.prepareStatement(sql);
for (int i = 0; i < 5; i++) {

    ps.setInt(i + 1, preferences.get(i));

}
ps.executeUpdate();
connect.close();
ps.close();
Run Code Online (Sandbox Code Playgroud)

}

Ayo*_*oub 5

试试这个

   for(int i=preferences.size();i<3;i++)
       preferences.add(0);
Run Code Online (Sandbox Code Playgroud)