Rak*_*yal 0 java enums constructor
在以下代码@第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() );
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我将添加没有参数的构造函数,那么我收到错误Syntax error on token ""DB2T url"", delete this token.
这里有什么问题?
您已将构造函数参数放在大括号中,而不是括号中.所以这:
DB2T { "DB2T url" },
DB2Q { "DB2Q url" };
Run Code Online (Sandbox Code Playgroud)
应该
DB2T("DB2T url"),
DB2Q("DB2Q url");
Run Code Online (Sandbox Code Playgroud)
(作为旁注,我个人会避免让你的类型名称像那样嘶哑.通常枚举值很大,但枚举的名称本身就像PascalCase一样.)