Tôi có một enumGenerics sử dụng Enum trong Java
public enum Days {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
Tôi muốn thực hiện một lớp có thể mất giá trị của ngày loại. Vì vậy, tôi sử dụng Java Generics
public class State<T extend Days>
Nhưng có một lỗi
The type parameter T should not be bounded by the final type Days.
Final types cannot be further extended
Làm thế nào tôi có thể giải quyết này?
Đó không phải là những gì OP muốn. OP muốn chấp nhận chỉ ngày, không phải bất cứ điều gì ở tất cả hoặc bất kỳ enum. Không chỉ anh ta không cần một generics ràng buộc để làm điều đó, anh ta không cần phải sử dụng Generics ở tất cả. – Malcolm
@Malcolm Vâng, anh ta có thể dùng Generics cho lớp 'State' của mình (theo mã của tôi). Anh ta chỉ không cần chung chung để bị ràng buộc. Tôi hiểu ý anh là gì, nhưng anh * có thể làm cho lớp của anh ấy chung chung - nó có vẻ như một lớp học tiện dụng để có thỏa thuận với tình trạng ban đầu/hiện tại – Bohemian
Nó không phục vụ mục đích mà OP đã chỉ định. Anh ấy cần một lớp học hoạt động vào Ngày hoặc con cái của nó: 'Tôi muốn tạo ra một lớp học có thể lấy giá trị của ngày loại'. Vì không có trẻ em cho bất kỳ enum, ông nên viết ngày rõ ràng. Mã của bạn không giới hạn giá trị cho Ngày. – Malcolm