我想收集分类在多个组中的数据。当我收到组的第一个项目时,我想将布尔值设置为TRUE,以指示组中是否有一些信息。分组布尔值
我的第一个方法是编写一个方法来返回我想检查的每个组的布尔值。但因为我有8组,我虽然关于给不同的范围:我定义的ENUM,创造具有ENUM关键和布尔作为值的Map:
enum dataNames{TITLE, AUTHOR, SOURCE, ELEVATION, SPEED, SATELLITES, LATITUDE, LONGITUDE}; //etc
private Map<dataNames, Boolean> availableData;
然后我检查的状态每个布尔调用此方法:
public boolean isDataAvailable (dataNames name){
return availableData.containsKey(name);
}
例如:
public void addElevationValue(double elevationValue){
if(!isDataAvailable(dataNames.ELEVATION)) availableData.put(dataNames.ELEVATION, true);
elevacion.add(elevationValue);
}
我的问题是:这是一个很好的形式给出,或者我应该留在每个布尔我想检查的方法?而...为什么? (我只想学习)
为什么你不只是检查是否'elevacion'(?列表)为空或不? –
您可以使用'Set'并使用集合中的存在来查看您是否拥有该集合的数据。布尔值总是为真的'Map'是不必要的。 –
Gray
噢,如果你要匹配Java命名标准,它应该是'DataName'(Capital D)。最后我也不推荐“s”。例如:'DataName.TITLE'。 – Gray