Int中的构造函数字符串

时间:2018-06-03 21:41:45

标签: java swing

我想在JcomboBoxe中显示名为CodeA(String类型)的变量中的每个项目。我有一条错误消息:

  

找不到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;
    }
}

我不理解StringInt

之间的转换

修改:enter image description here

1 个答案:

答案 0 :(得分:0)

您有两个构造函数:默认的构造函数和接受StringStringChanteurDate的构造函数。

然后您尝试创建一个新的Album对象:

new Album(0,"*")

(您尝试使用Albumint作为构造函数参数创建String对象。)

您需要添加参数以匹配其中一个构造函数,或者创建一个仅接受intString的新参数。

编辑:

如果您只是想创建一个新的构造函数来接受intString,则必须创建一个新的int变量,然后创建新的构造函数:

int newVariableName;
public Album(int codeA, String titreA) {
    this.newVariableName = codeA;
    this.titreA = titreA;
}

如果0应该是一个字符串,请在其周围添加引号:

new Album("0","*")