我有一个包含对象的类
public class Service {
private Integer vlan;
private String desc;
private String vrf;
private String address;
private String JR;
public Service() {
}
public Service(Integer vlan, String desc, String vrf, String address, String JR) {
this.vlan = vlan;
this.desc = desc;
this.vrf = vrf;
this.address = address;;
this.JR = JR;
}
public Service(Integer vlan) {
this.vlan=vlan;
}
我想把他们在excel文件中的数据添加到listArray
try {
Workbook workbook = Workbook.getWorkbook(new File("Taza-BLR.xls"));
Sheet sheet = workbook.getSheet(0);
for(int i=1;i<sheet.getRows();i++)
{
liste.add(new Service(sheet.getCell(7, i).getContents()));
}
} catch (IOException ex) {
所以他们告诉我这个错误:
constructor Service.Service(Integer) is not applicable
(actual argument String cannot be converted to Integer by method invocation conversion)
如何解决此问题?
谢谢
发布于 2013-06-18 23:53:26
按如下方式使用Integer.parseInt(String)
:
liste.add(new Service(Integer.parseInt(sheet.getCell(7, i).getContents())));
希望它能有所帮助:)
发布于 2013-06-18 23:55:43
我假设您的getContents返回一个String对象。你的构造函数需要一个"Integer“对象。搜索论坛StackOverFlow本身,或者查看Integer.valueOf(String s)接口将字符串转换为整数。
您应该将代码更改为
liste.add(new Service(Integer.valueOf(sheet.getCell(7, i).getContents())));
发布于 2013-06-18 23:55:50
显然,单元格内容是以字符串形式返回的。如果你确定你会在其中找到一个整数,你可以像这样从字符串中解析出来:
String contents = sheet.getCell(7, i).getContents();
try {
Integer value = Integer.valueOf(contents);
liste.add(new Service(value));
catch (NumberFormatException ignored) {}
https://stackoverflow.com/questions/17173413
复制相似问题