将枚举常量存储在变量中

时间:2016-11-06 00:41:52

标签: enums

这段代码实际上运行正常,我的代码问题是如何将枚举常量存储在任何变量中,为什么我们使用枚举?该陈述的含义是什么HouseType houseType;?非常感谢你。

import java.util.Scanner;

public class HomeBuying {
    public enum HouseType{UNKNOWN,SINGLEFAMILY,TOWNHOUSE,CONDOMINIUM};
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter the type of house you want to purchase"); //1.Single Family/n" " 2. Townhouse/n" " 3. Condominium/n");
        int choice = input.nextInt();
        HouseType houseType;
        switch(choice) {
            case 1: 
            houseType = HouseType.SINGLEFAMILY;
            break;
            case 2: 
            houseType = HouseType.TOWNHOUSE;
            break;
            case 3:
            houseType = HouseType.CONDOMINIUM;
            break;
            default:
            houseType = HouseType.UNKNOWN;
            break;
    }
    System.out.println(houseType);
}

1 个答案:

答案 0 :(得分:0)

您提供的代码段已将Enum值存储在变量中。

HouseType houseType; //declaration of variable of type HouseType (means it can store values of the HouseType enum)
houseType = HouseType.UNKNOWN; //put value into the houseType variable

每当我们需要表示来自某些已知和有限集的值时,我们就使用枚举。例如,如果您希望程序跟踪它是白天还是黑夜,您可以为自己制定一些规则并使用整数,例如1代表日,0代表夜晚。但那么其他数字意味着什么呢?或者您可以使用布尔值(同样, false true 附加一些任意含义)。  

enum TimePeriod{
    DAY,
    NIGHT
}

通过让您明确指出哪些值意味着,枚举代表了更好的选择。这不仅仅是一种便利 - 在你的意图中明确是使你的程序可以被其他人读取的原因。