2012-04-04 37 views
12

Tôi có 3 Chuỗi chuỗi có hằng số. ví dụ:Nhiều Lớp Enum trong một Tệp Java

String[] digit = {"one", "two", "three"}; 
String[] teen= {"ten", "twenty", "thirty"}; 
String[] anchors = {"hundred", "thousand", "million"}; 

Tôi đang nghĩ đến việc chuyển những enums riêng biệt, vì vậy tôi sẽ có 3 lớp enum: digit, teenanchors với getValue phương pháp thực hiện. Nhưng tôi không muốn có chúng trong các tệp riêng biệt vì tôi chỉ có dữ liệu nhỏ và cùng một loại dữ liệu. Cách tốt nhất để có tất cả những điều này với các phương thức truy cập trong cùng một tệp java có ý nghĩa là gì?

Trả lời

36

Họ có thể là ba lớp bên trong như thế này:

public class Types { 
    public enum Digits {...} 
    public enum Teens {...} 
    .... 
} 

Sau đó giới thiệu họ Types.Digits.ONE, Types.Teen.TWENTY, vv

Bạn cũng có thể sử dụng nhập khẩu tĩnh như thế này:

import Types.Digits; 
import Types.Teen; 

..

để có tham chiếu ngắn hơn: Digits.ONE, Teen.TWENTY vv

+0

Đề xuất duy nhất tôi thực hiện là thay đổi chữ ký của enums thành 'public static enum'. Bằng cách đó, chúng tôi có thể sử dụng một nhập tĩnh trên các enums cần thiết và tiết kiệm một chút gõ cho người dùng. – jpm

+1

enums đã được tĩnh - bạn không phải khai báo chúng là tĩnh (như giao diện). –

+5

Đúng vậy. Tôi chắc rằng tôi đã học được rằng tại một số điểm. Tuy nhiên, trừ khi sử dụng tên hoàn toàn đủ điều kiện cho biết thêm khả năng đọc hoặc rõ ràng, tôi vẫn sẽ đề nghị đi với nhập khẩu tĩnh, mặc dù đó thực sự là một điểm của sở thích cá nhân, tôi giả sử. – jpm

Các vấn đề liên quan