1

多くの列挙型を宣言しようとしていますが、何らかの理由でそのうちの 1 つがエラーになり、その理由がわかりません。

私の宣言:

public class Enums {

    public enum MainObjectType {
        Plan = 0
                StationEntrance = 1
                StationConcourse_Hall = 2
                StationPlatform = 3
                StationStairs = 4
                StationEscalator = 5
                StationLift = 6
                StationRamp = 7
                StationSubway = 8
                StationTicket_Gates = 9
                StationOther = 12
                StationCar_Park = 13
                StationToilets = 14
                StationDoors = 15
                StationTravelator = 16
                StationLevel = 17
                StationMulti_stairs = 19
                StationSupervisor = 20
                StationInformation_Stand = 24
                StationTicket_Office = 28
                StationTravel_Info_Office = 30
                StationBabyChange = 50
                StationAccessibleToilets = 57
                StationTicket_Counter = 58
                StationDropOffPoint = 59
                StationStartPoint = 60
                StationToiletArea = 61

                StationTaxi = 250
                StationTaxiDropOffPoint = 259

                CarPark = 501
                Circulation = 502
                Internal_Doors = 503
                Surfaces = 504
                Toilets = 505
                Seating = 506
                Counters_Service_Desks = 507
                Telephones = 508
                Signage = 509
                Lighting = 510

                Acoustics = 511
                Drop_off = 513
                Routes = 514
                Reception = 515
                Consultation_area = 516
                Creche = 518
                Means_of_escape = 519
                Ramp = 523
                Steps = 524
                PassengerLift = 525
                PlatformLift = 526
                SwimmingPool = 527
                ChangingRoom = 528
                VendingMachine = 529
                CashMachine = 530
                Entrance = 531
                Room = 532
                AccessibleWC = 533
                Consultation_Room = 535
                TransportTypes = 536
                Escalator = 537
                Intercomm = 538
                Other = 539
                CorridorRoom = 540
                Approach = 586
                WheelChairStairLift = 587
                MultiRamp = 588
                BusStands = 591
                BusStop = 592
                Level = 594
                FloorPlan = 1001
                WayPoint = 1003
                RoutingArrow = 1004
                Poster = 1005
                GlobalArea = 1007

                ManagersQuestions = 2000
                Knowledgebase = 2001
                SeatingBlock = 2002

                FireExtinguisher = 2006

                HS_StatutoryComplianceDocs = 3003
                HS_WorkplaceQuestions = 3004
                HS_Findings = 3005
                HS_Verification = 3006
                HS_Assessor_Notes = 3008

                FR_Limitations = 3001
                FR_PolicyReview = 3002
                FR_Verification = 3021
                FR_Findings = 3022
                FR_Policies = 3024
                FR_AlarmSystem = 3056
                FR_Assessor_Notes = 3007

                GEN_BuildingQuestions = 3023


                NPM_PolicyReview = 3550
                NPM_ManagerQuestions = 3552
                NPM_Policies = 3551
                NPM_Verification = 3553

                NPM_Findings = 3554
                NPM_Assessor_Notes = 3555
                AssetItem = 3200


                FR_MajorIssues = 3562
                HS_MajorIssues = 3563
                NPM_MajorIssues = 3564
    }


}

エラーは次のように述べています:構文エラー、クラスボディを完成させるために}を挿入してください

ここに画像の説明を入力

4

2 に答える 2

3

列挙型の要素はコンマで区切る必要があり、各要素の値を設定するための構文が正しくありません。

まず、値を設定するための適切な構文を使用する必要があります。構文はEnumValue(value)、enum要素を設定する型をとるプライベートコンストラクターがある場所である必要があります。この場合、private MainObjectType(int value)列挙型にコンストラクターが必要です。また、各要素をコンマで区切る必要があります。

いくつかの例については、列挙型のJavaチュートリアルを確認してください。

于 2012-09-17T12:49:29.713 に答える
3

構文が無効です。あなたは書ける:

public enum MainObjectType  {
    StationEntrance,
    StationConcourse_Hall,
    StationPlatform,
    StationStairs,
    // ...
    NPM_MajorIssues;        
}

しかし、それは番号付けを失うでしょう。または、次の構文で番号を指定することもできます。

public enum MainObjectType  {
    StationEntrance(1),
    StationConcourse_Hall(2),
    StationPlatform(3),
    StationStairs(4),
    // ...
    NPM_MajorIssues(3564);        

    private final int id;
    private MainObjectType(int id) {
        this.id = id;
    }

    public int getId() {
        return id;
    }
}

次に、次のように書くことができます。

int id = MainObjectType.StationEntrance.getId(); //id = 1
于 2012-09-17T12:49:44.470 に答える