import java.util.HashMap;
import java.util.Map;
/**
* @descrition 枚舉
* @since 2020-05-21 18:00
*/
public class EnumInterface {
String TYPE_FACE = "face";
String TYPE_HUMAN_BODY = "humanBody";
String TYPE_MOTOR_VEHICLE = "motorVehicle";
String TYPE_NON_MOTOR_VEHICLE = "nonMotorVehicle";
// 人臉特征
String[] faceCharacteristics = new String[]
{"Gender", "Hat", "Glass", "Mask"};
// 人體特征
String[] humanBodyCharacteristics = new String[]
{"SleeveStyle", "UpperColor", "UpperTexture", "LowerType", "LowerColor", "ShoesStyle", "ShoesColor",
"HairStyle", "Bag", "Appendix", "AgeRange", "HumanBodyGender"};
// 機動車特征
String[] motorVehicleCharacteristics = new String[]
{"PlateText", "VehicleClass", "VehicleColor", "VehicleHead", "PlateClass",
"PlateColor", "PlateState", "VehicleRoofItem", "VehicleFrontItem", "FaceCoveredItem", "SpecialVehicle"};
// 非機動車特征
String[] nonMotorVehicleCharacteristics = new String[]
{"VehicleType", "VehicleColor", "VehicleHead", "IllegalPassenger", "Gender", "UpperStyle", "UpperColor", "Headwear", "PackStyle"};
Map<String, String[]> search = new HashMap<String, String[]>() {
{
put(TYPE_FACE, faceCharacteristics);
put(TYPE_HUMAN_BODY, humanBodyCharacteristics);
put(TYPE_MOTOR_VEHICLE, motorVehicleCharacteristics);
put(TYPE_NON_MOTOR_VEHICLE, nonMotorVehicleCharacteristics);
}
};
}
這里的雙括號”{{}}”用來初始化,使代碼簡潔易讀。
第一層括弧實際是定義了一個匿名內(nèi)部類 (Anonymous Inner Class),第二層括弧實際上是一個實例初始化塊 (instance initializer block),這個塊在內(nèi)部匿名類構(gòu)造時被執(zhí)行。
同理,list也可這樣賦值:
private List<String> list = new ArrayList<String>() {
{
add("tom");
add("jerry");
add("hkj");
}
};