【问题标题】:cannot find symbol class Currency (enum)找不到符号类货币(枚举)
【发布时间】:2014-08-16 20:29:52
【问题描述】:

我正在使用如下枚举类:

public enum Currency {

        INR(100, '₹'),
        USD(100, '$'),
        EUR(100, '€' );


    private final char currencySymbol;
    private final int subUnitsPerUnit;

    private Currency(int subUnitsPerUnit, char currencySymbol) {
        this.subUnitsPerUnit = subUnitsPerUnit;
        this.currencySymbol = currencySymbol;
    }

    public final char getCurrencySymbol() {
        return this.currencySymbol;
    }

    public final int getSubUnitsPerUnit() {
        return this.subUnitsPerUnit;
    }
}

并在我的片段(在 android 中)中使用以下代码来使用它:

private Currency currency = Currency.INR;

枚举和片段都在同一个包中,但是当我运行应用程序时,我在 Android Studio 0.8.6 中不断收到以下错误

Error:(44, 13) cannot find symbol class Currency
Error:(44, 33) cannot find symbol variable Currency

请有人指出我正确的方向吗?

谢谢。

【问题讨论】:

  • 你确定你没有在另一个类中声明Currency
  • 检查您没有误导入java.util.Currency?
  • @JonSkeet 不,不在另一个类中声明。它是一个单独的文件 Currency.java,如果它有助于 IDE 识别编辑器中的类,但运行时会出现错误。
  • 您是否尝试更改 Currency 类名称只是为了确保它不会与其他类混淆?
  • @joao2fast4u 耶!谢谢,这是一个命名冲突。我将 Currency 枚举名称替换为另一个变量并解决了问题。感谢大家的cmets。真的很感激!

标签: java android enums android-studio


【解决方案1】:

只需更改您的 Currency 类名并尝试再次运行代码以确保它没有命名冲突。

【讨论】:

    【解决方案2】:

    更改枚举类名

    之前我有一个枚举对象,定义如下:

    object Enums{
    
        enum class X{
        }
        
        enum class Y{
        }
    }
    

    我刚刚将对象 Enums 重新定义为 TypesEnums。

    基本上,将枚举类名称更改为除 Enum/Enums 之外的任何名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-04
      • 1970-01-01
      • 2019-02-23
      • 2017-06-22
      • 2017-06-13
      • 2012-08-12
      • 1970-01-01
      • 2013-07-03
      相关资源
      最近更新 更多