Nếu bạn nhìn vào enum api ở phương thức name()
thì nó nói rằng:
Trả về tên của hằng số enum này, chính xác như được khai báo trong khai báo enum của nó. Hầu hết các lập trình viên nên sử dụng phương thức toString theo sở thích này, vì phương thức toString có thể trả về một tên thân thiện hơn với người dùng. Phương pháp này được thiết kế chủ yếu để sử dụng trong các tình huống chuyên biệt trong đó tính chính xác phụ thuộc vào việc lấy tên chính xác, sẽ không thay đổi từ phát hành đến phát hành.
Tại sao tốt hơn để sử dụng toString()
? Ý tôi là toString có thể bị ghi đè khi tên () đã là cuối cùng. Vì vậy, nếu bạn sử dụng toString và ai đó ghi đè lên nó để trả về giá trị được mã hóa cứng, toàn bộ ứng dụng của bạn sẽ bị hỏng ... Ngoài ra nếu bạn tìm trong các nguồn, phương thức toString () trả về chính xác và chỉ tên. Đó là một thứ tương tự.
toString()
trong enum của mình, nhưng không ai khác có thể mở rộng và ghi đè lên nó. Bạn không thể mở rộng enums.