Java enum-如何在enum';s构造函数
我的问题是如何编码,这样我就不会在引用另一个枚举值(据我所知是静态的)时,无法将非静态字段Rarity作为error msg进行静态引用,也就是说,为什么我必须为每个Rarity引用main(Rarity.java包)[…] 代码如下:Java enum-如何在enum';s构造函数,java,enums,static,Java,Enums,Static,我的问题是如何编码,这样我就不会在引用另一个枚举值(据我所知是静态的)时,无法将非静态字段Rarity作为error msg进行静态引用,也就是说,为什么我必须为每个Rarity引用main(Rarity.java包)[…] 代码如下: public enum Card { SPARKLEGAZE("Sparklegaze", main.Rarity.COMMON), // WORKING ABBEND("Abbend", Rarity.COMMON), // N
public enum Card {
SPARKLEGAZE("Sparklegaze", main.Rarity.COMMON), // WORKING
ABBEND("Abbend", Rarity.COMMON), // NOT WORKING
...
稀有来源:
package main;
public enum Rarity {
COMMON(50),
EPIC(6.25),
DIVINE(1.5625);
// Some useless code for this post
private double Weight;
Rarity(double weight) {
Weight = weight;
}
// Some useless code for this post
}
(对于那些想知道Rarity.java是否无用的人来说,因为它唯一的&私有字段“Weight”在“本文的无用方法”中用于随机选择)
感谢您花时间阅读,请注意;) “为什么我必须引用main”您在上面说,如果您指定
main
,则它不起作用。不起作用是指中的错误消息italic@AndyTurner'无法确定您的卡
enum中有一个名为Rarity
的字段吗?如果是这样,那可能不是最好的计划。你应该考虑制作<代码>卡<代码>类,而不是枚举。只是一个建议