java为什么会出现“构造函数未定义”错误?
在以下代码中,第4行&;5我收到错误The constructor DataSourceFactory.DATABASE_TYPE() is undefined
public class DataSourceFactory {
public enum DATABASE_TYPE {
DB2T { "DB2T url" },
DB2Q { "DB2Q url" };
private final String url;
DATABASE_TYPE( String _url ){
this.url = _url;
}
public String getUrl() {
return url;
}
};
public static void main(String[] args) {
for ( DATABASE_TYPE dt : DATABASE_TYPE.values()){
System.out.println( dt.getUrl() );
}
}
}
如果我将添加没有参数的构造函数,那么我将得到错误Syntax error on token ""DB2T url"", delete this token
这里有什么问题
# 1 楼答案
您已经将构造函数参数放在大括号中,而不是括号中。因此:
应该是
(顺便说一句,我个人不想让你的类型名这么简单。通常,enum值是shouty,但enum本身的名称通常是PascalCase。)
# 2 楼答案
构造函数调用由“()”定义。“{}”是数组初始值设定项。因此,您的调用应该是
DB2T("DB2T url"),