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 中收到上述代码的“重复大小写错误”。Eclipse 将“AREA_LABEL”行、“PARENT_LABEL”行和“PARENT_LABEL_VALUE”行强调为重复,即使它们看起来不同。我认为这是一个语法错误,但我不确定。如果您需要任何其他代码/类,请告诉我。谢谢你。

4

1 回答 1

7

这一切都取决于这些标签的实际,它们可能具有不同的名称但具有相同的值。检查它们的定义,仅从您发布的代码中很难分辨出它们的实际类型和值。

要修复此错误,请确保每个常量确实具有不同的值。或者按照@djjeck 的建议使用枚举。

于 2012-12-03T20:23:15.740 回答