我想在JcomboBoxe中显示名为CodeA(字符串类型)的变量中的每个项目。我有一条错误消息:
没有为Album(int, String)
找到合适的构造函数构造函数Album.Album()
不适用(实际和形式参数列表的长度不同)构造函数Album.Album(String, String, Chanteur, Date)
不适用(实际和形式参数列表的长度不同)
ArrayList<Album> listeCats = daoLoc.selectAlbums();
listeCats.add(0, new Album(0,"*"));
for (Album cat : listeCats)
{
jComboBoxChanteur.addItem(cat);
}
所以我的问题出在我的构造函数Album中?
public class Album
{
private String codeA;
private String titreA;
private Chanteur chantAlb;
private Date dateApp;
public Album() {}
public Album(String codeA, String titreA, Chanteur chantAlb, Date dateApp)
{
this.codeA = codeA;
this.titreA = titreA;
this.chantAlb = chantAlb;
this.dateApp = dateApp;
}
}
我不理解
String
和Int
之间的转换编辑:enter image description here
最佳答案
您有两个构造函数:默认一个构造函数和一个接受String
,String
,Chanteur
和Date
的构造函数。
然后尝试创建一个新的Album
对象,如下所示:
new Album(0,"*")
(您尝试创建一个以
Album
和int
作为构造函数参数的String
对象。)您需要添加参数以匹配您的一个构造函数,或者创建一个仅接受
int
和String
的新参数。编辑:
如果您只想创建一个新的构造函数以接受
int
和String
,则必须创建一个新的int
变量,然后创建新的构造函数:int newVariableName;
public Album(int codeA, String titreA) {
this.newVariableName = codeA;
this.titreA = titreA;
}
或如果
0
应该是字符串,请在其周围加上引号:new Album("0","*")