01/10/2018, 10:35

Bắt lỗi giá trị truyền vào cho object

Em có một class có các trường như bên dưới. Bây giờ em muốn giới hạn dữ liệu nhập vào cho một trường thì em phải làm như thế nào ạ? Ví dụ như ‘employeeId’ em muốn giới hạn nó chỉ có 5 ký tự thôi ạ? Em có thể dùng luôn method Setter để bắt lỗi truyền vào hay em nên sử dụng try - catch và em phải viết như thế nào ạ?

Nguyen Ca viết 12:50 ngày 01/10/2018

Cách đơn giản

 private void validate(NhanVien nhanvien) {
        String employeeId= nhanvien.getEmployeeId()
        if (employeeId.trim().isEmpty()) {
            throw new IllegalArgumentException("A employeeId item must be specified.");
        }
.......
chichi viết 12:36 ngày 01/10/2018

hàm setter có thể trả về kiểu int là mã lỗi ví dụ 0 là tên chuẩn, 1 là tên ít hơn 5 kí tự, 2 là tên rỗng,…

Tao Không Ngu. viết 12:44 ngày 01/10/2018

Hi tutu.
Tùy và tình huống mà có lựa chọn phù hợp.
Tốt nhất là ban chặn từ lúc nhập tên nhân viên và yêu cầu nhập lại.

tutu viết 12:45 ngày 01/10/2018

nhập lại.

Dạ, anh nói đúng ý của em rồi đấy ạ. Em muốn bắt lỗi nhập đi nhập lại cho đến khi nào đúng mới thôi. Mà em chưa hình dung ra phải viết như thế nào cả ạ?

Tao Không Ngu. viết 12:38 ngày 01/10/2018

Hi tutu.
Cứ đọc vào rồi while thôi.


do {
//Nhap
} while(<kiểm tra>)

Bài liên quan
0