Bạn không thể đặt khoảng trắng ở giữa số nhận dạng.
Làm như vậy kết thúc định danh và trình phân tích cú pháp giả định bất kỳ điều gì đến tiếp theo là mã thông báo hợp lệ trong ngữ cảnh của câu lệnh đó. Có rất ít (nếu có) địa điểm hợp pháp.
tên giá trị truyền thống Java sẽ là:
tính
INDIA, // Or India,
RUSSIA, // Russia,
NORTH_AMERICA; // NorthAmerica;
Một enum
có thể đã đi kèm, như tên con người có thể đọc được, ví dụ như,
public enum CountryAndOneContinent {
INDIA("India"),
RUSSIA("Russia"),
NORTH_AMERICA("North America");
private String displayName;
CountryAndOneContinent(String displayName) {
this.displayName = displayName;
}
public String displayName() { return displayName; }
// Optionally and/or additionally, toString.
@Override public String toString() { return displayName; }
}
Tôi mâu thuẫn về việc sử dụng toString
để cung cấp các biểu diễn lớp trình bày.
Tôi thích phương pháp truyền đạt mục đích của họ một cách rõ ràng – nó mang tính biểu cảm và rõ ràng hơn.
toString
khá chung chung và chỉ cho phép một đại diện duy nhất. Nhiều định dạng đầu ra có thể được yêu cầu tùy thuộc vào ngữ cảnh, thông số, v.v. mà toString
không cho phép.
Ưu điểm của toString
bao gồm sử dụng các hoạt động chuỗi mặc định trên đối tượng và trong trường hợp này, sử dụng valueOf
để dịch trực tiếp từ phiên bản có thể đọc được sang giá trị enum.
Nguồn
2011-12-05 17:19:14
Quyền truy cập vào thành viên này cũng sẽ không thể thực hiện được; suy nghĩ về 'myEnum x = myEnum.north America'. Những điều này sẽ không thể chịu trách nhiệm bởi vì nếu một người sẽ cho phép những tên như vậy, nơi để đặt phần cuối của số nhận dạng? Có thể bao gồm dòng mã hoặc câu lệnh tiếp theo không? – Matten
KHÔNG sử dụng chữ cái nhỏ cho enums và ngay cả đối với tên lớp! – banterCZ