Java强制变量具有特定值

Java强制变量具有特定值,java,variables,Java,Variables,我想强制一个变量具有特定的值。例如,让我们谈谈CPU。假设我们有以下几点 public class CPU { static String CPU_TYPE; static String CPU_SPEED; public static void main(String[] args) { CPU_TYPE = "Don't allow this"; } } 例如,我希望CPU类型仅为AMD/Intel,CPU速度仅为3.0或4.0。 我尝试了en

我想强制一个变量具有特定的值。例如,让我们谈谈CPU。假设我们有以下几点

public class CPU
{
   static String CPU_TYPE;
   static String CPU_SPEED;

   public static void main(String[] args) 
   {
      CPU_TYPE = "Don't allow this";
   }
}
例如,我希望CPU类型仅为AMD/Intel,CPU速度仅为3.0或4.0。 我尝试了enum,但我做错了什么,它不起作用

我不想用if语句得到一个简单的解决方案,因为我已经加载了这些变量和特定的值


谢谢

请使用enum在本例中,只需使用来解析传入字符串即可。当无法将其转换为现有枚举值时,它将抛出IllegalArgumentException。

正如@ChristopheD所说,使用枚举。下面是一个例子:

    package main;

public enum CPU_TYPE {

    TYPE1,
    TYPE2,
    TYPE3;

}
然后在你的主课上:

public CPU_TYPE cpuType = new CPU_TYPE();

public static void main(String[] args) {
//setting

cpuType = CPU_TYPE.TYPE1;

// getting
if(cpuType == CPU_TYPE.TYPE1) {
cpuType = CPU_TYPE.TYPE2;
}

}

​Java为这类问题提供了一个内置的解决方案,称为
enum
。没有其他方法可以在不手动检查代码的情况下限制变量的某些预定义值。

enum是正确的方法。为什么不给我们看看你尝试了什么?使用枚举时出现了什么问题?