为什么我收到错误“构造函数未定义”?
在下面的代码中@第4行& 5 我收到错误构造函数 DataSourceFactory.DATABASE_TYPE() 未定义
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() );
}
}
}
,如果我添加不带参数的构造函数,那么我收到错误令牌“”DB2T url”上的语法错误",删除此令牌
。
这里有什么问题呢?
In the following code @ line 4 & 5 i am getting the error 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() );
}
}
}
and if i will add the constructor with no arguments then i am getting the error Syntax error on token ""DB2T url"", delete this token
.
What is the problem here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您已将构造函数参数放在大括号中,而不是方括号中。所以这个:
应该是
(作为旁注,我个人会避免让你的类型名称像那样大喊大叫。通常枚举值是大喊大叫的,但枚举本身的名称通常采用 PascalCase 格式。 )
You've put the constructor arguments in braces, not brackets. So this:
should be
(As a side-note, I'd personally avoid making your type names shouty like that. Typically enum values are shouty, but the names of enums themselves are in PascalCase as normal.)
构造函数调用由“()”定义。 “{}”是数组初始值设定项。因此,您的调用应该是
DB2T("DB2T url"),
Constructor invoking is defined by "()". "{}" is array initializer. So, your invokation should be
DB2T("DB2T url"),