2
public LabelsFactoryImpl() {
        super();
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    @Override
    public EObject create(EClass eClass) {
        switch (eClass.getClassifierID()) {
            case LabelsPackage.AREA_LABEL: return createAreaLabel();
            case LabelsPackage.AREA_LABEL_VALUE: return createAreaLabelValue();
            case LabelsPackage.COMMON_BORDER_RELATIONSHIP_LABEL: return createCommonBorderRelationshipLabel();
            case LabelsPackage.COMMON_BORDER_RELATIONSHIP_LABEL_VALUE: return createCommonBorderRelationshipLabelValue();
            case LabelsPackage.POPULATION_LABEL: return createPopulationLabel();
            case LabelsPackage.POPULATION_LABEL_VALUE: return createPopulationLabelValue();
            case LabelsPackage.RELATIVE_PHYSICAL_RELATIONSHIP_LABEL: return createRelativePhysicalRelationshipLabel();
            case LabelsPackage.RELATIVE_PHYSICAL_RELATIONSHIP_LABEL_VALUE: return createRelativePhysicalRelationshipLabelValue();
            case LabelsPackage.TRANSPORT_RELATIONSHIP_LABEL: return createTransportRelationshipLabel();
            case LabelsPackage.TRANSPORT_RELATIONSHIP_LABEL_VALUE: return createTransportRelationshipLabelValue();
            case LabelsPackage.PHYSICAL_RELATIONSHIP_LABEL_VALUE: return createPhysicalRelationshipLabelValue();
            case LabelsPackage.ROAD_TRANSPORT_RELATIONSHIP_LABEL: return createRoadTransportRelationshipLabel();
            case LabelsPackage.ROAD_TRANSPORT_RELATIONSHIP_LABEL_VALUE: return createRoadTransportRelationshipLabelValue();
            case LabelsPackage.EARTH_SCIENCE_LABEL: return createEarthScienceLabel();
            case LabelsPackage.EARTH_SCIENCE_LABEL_VALUE: return createEarthScienceLabelValue();
            case LabelsPackage.PARENT_LABEL: return createParentLabel();
            case LabelsPackage.PARENT_LABEL_VALUE: return createParentLabelValue();
            default:
                throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
        }
    }

上記のコードに対して、Eclipse で「Duplicate case error」が表示されます。Eclipse は、「AREA_LABEL」行、「PARENT_LABEL」行、および「PARENT_LABEL_VALUE」行が異なるように見えても、重複として下線を引きます。これは構文エラーだと思いますが、よくわかりません。他のコード/クラスが必要な場合はお知らせください。ありがとうございました。

4

1 に答える 1

7

それはすべてそれらのラベルの実際のに依存します、それらは異なる名前を持っているかもしれませんが同じ値です。それらの定義を確認してください。投稿したコードだけから実際のタイプと値を判断するのは困難です。

このエラーを修正するには、各定数の値が実際に異なることを確認してください。または、@ djjeckによって提案されているように、列挙型を使用します。

于 2012-12-03T20:23:15.740 に答える