Javaノート——switch文でEnumを使うときの注意点


列挙タイプがswitch文で使用される場合、文法は少し特別です.例を見てみましょう.
/*
 * Copyright 2011 UDMS Project Zhejiang University
 */  
package udms.core.utils;

import sun.net.www.content.text.plain;
import udms.core.model.api.CDS;
import udms.core.model.impl.PrimitiveValueTypeEnum;

public class UDMSReader {
	
	
	/**
	 * read the feature from cds according to the fature name and type
	 * @param cds
	 * @param featureName
	 * @param featureType feature type
	 * @return the feature
	 */
	public Object readFeature(CDS cds, String featureName, String featureType){
		PrimitiveValueTypeEnum primitiveValueTypeEnum = PrimitiveValueTypeEnum.valueOf(featureType);
		return readFeature(cds, featureName, primitiveValueTypeEnum);
	}
	/**
	 * read the feature from cds according to the feature name and type
	 * @param cds 
	 * @param featureName
	 * @param pvte feature type
	 * @return the feature
	 */
	public Object readFeature(CDS cds, String featureName, PrimitiveValueTypeEnum pvte){
		Object object = null;
		switch (pvte) {
		case BLOB:				
			break;
		case BOOLEAN:
			break;
		case DATE:
			break;
		case DATETIME:
			break;
		case DECIMAL:
			break;
		case DOUBLE:
			break;
		case INTEGER:
			break;
		case LINK:
			break;
		case STRING:
			break;
		case URI:
			break;
		case VECTOR:
			break;
		default:
			break;
		}

		return object;
	}
	
}

注意caseタグでは、BLOBは表示されません.すなわち、case PrimitiveValueTypeEnumです.BLOBは合法ではありません.他の場所ではPrimitiveValueTypeEnumを使用する必要があります.BLOB