2
我有以下的Groovy枚舉:Groovy的枚舉構造匹配
enum Flower {
Tulip(1),
Daisy(2)
private int rank
Flower(int rank) {
super()
this.rank = rank
}
int getRank() {
rank
}
}
我也有一個GardernGenerator
類,需要一個Flower
實例作爲其構造函數的參數之一:
class GardenGenerator {
Flower flower
int length
int width
boolean isOrganic
GardenGenerator(Flower flower, int length, int width, boolean isOrganic) {
super()
this.flower = flower
this.length = length
this.width = width
this.isOrganic =isOrganic
}
Garden createGarden() {
// ...blah whatever
}
}
當我嘗試創建此類GardenGenerator
實例如下:
GardenGenerator gg = new GardenGenerator(Flower.Daisy, 5, 10, true)
我上Flower
枚舉構造有關的問題:
Caused by: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: com.me.myapp.Flower(java.lang.String, java.lang.Integer, java.lang.Integer)
我需要做什麼做Flower
解決這一問題?
enum Flower {
Tulip(1),
Daisy(2)
private int rank
Flower(int rank) {
this.rank = rank
}
int getRank() {
rank
}
}
沒有必要進行枚舉的構造函數調用super()
: