Java枚举mathField使用报错:实例化Calculator时Q无法解析为变量
解决枚举常量引用报错的问题
嘿,这个问题其实是Java枚举的基础用法小失误啦!你之所以会收到Q cannot be resolved to a variable的报错,是因为在Java里,枚举常量不能直接裸用名称,必须通过枚举类名.常量名的格式来引用它。
具体修复方法
把你创建Calculator实例的代码改成这样:
Calculator calc = new Calculator(mathField.Q);
这里的mathField.就是关键——它告诉编译器你引用的是mathField这个枚举类里的Q常量,而不是一个普通的变量。
额外小建议
你提到计算器需要支持R、Q、Z、N四个数域,但目前你的枚举只定义了R和Q,后续可以把另外两个常量补充进去,让枚举更贴合你的需求:
public enum mathField { R, Q, Z, N; }
这样之后,你就能用mathField.Z和mathField.N来初始化对应数域的计算器实例了。
内容的提问来源于stack exchange,提问作者Dor Birendorf
相关产品推荐
相关产品推荐

