Trước đây, tôi có các enums LegNo của mình được định nghĩa đơn giản là:
NO_LEG, LEG_ONE, LEG_TWO
và bằng cách gọi return LegNo.values()[i];
, tôi đã có thể nhận được giá trị được liên kết với mỗi enum.
Nhưng bây giờ tôi đã quyết định tôi muốn LegNo
enum NO_LEG
là int -1 thay vì 0 vì vậy tôi quyết định sử dụng một hàm tạo riêng để khởi tạo và đặt giá trị int của nó
NO_LEG(-1), LEG_ONE(1), LEG_TWO(2);
private LegNo(final int leg) { legNo = leg; }
điều duy nhất bây giờ là vì tôi đang làm theo cách này nên values()
phương thức sẽ không hoạt động đối với NO_LEG
enum. Làm cách nào để lấy enum được liên kết với int? Có cách nào hiệu quả để thực hiện việc này ngoài việc sử dụng câu lệnh chuyển đổi trường hợp hoặc if-elseif-elseif không
Tôi có thể thấy rất nhiều câu hỏi SO để làm với việc lấy giá trị int từ enum, nhưng tôi thì ngược lại.