2013-06-18 27 views
1

我有對象構造Service.Service()是不適用

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; 
    } 

一類,我想添加到listArray ,他們是在Excel文件中的數據

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) 

我該如何解決這個問題?

謝謝

回答

0

使用Integer.parseInt(String)就象這樣:

liste.add(new Service(Integer.parseInt(sheet.getCell(7, i).getContents()))); 

希望它能幫助:)

+0

Nooo他們也給我錯誤:線程「main」中的異常java.lang.NumberFormatException:對於輸入字符串: 「」 \t在java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) \t在java.lang.Integer.parseInt(Integer.java:504) \t在java.lang.Integer.parseInt (Integer.java:527) –

+0

然後你不恢復一個整數:S。嘗試調試或打印正在恢復的值。如果您收到該異常,則意味着您收到的字符串不能被解析爲整數。 – zozelfelfo

+0

如果我不能顯示標題的第一列,這將是很好的,因爲所有的數據都是整數,所以標題它只是字符串,所以我認爲這就是爲什麼它給了我錯誤,但我怎麼能消除標題 –

0

我假設你getContents返回一個String對象。而你的構造函數期望一個「Integer」對象。搜索論壇StackOverFlow本身,或查看API Integer.valueOf(String s)將String轉換爲Integer。

你應該更改代碼以

+0

總是同樣的錯誤 –

+0

它給了我cellule的標題和行:標題是ID Vlan aso這個結果給我:ID Vlan212821292130 –

+0

for(int i = 3; i

0

顯然,單元格內容返回爲一個字符串。如果你知道肯定你會發現一個整數在那裏,你可以解析出來的字符串是這樣的:

String contents = sheet.getCell(7, i).getContents(); 
try { 
    Integer value = Integer.valueOf(contents); 
    liste.add(new Service(value)); 
catch (NumberFormatException ignored) {} 
+0

同樣的錯誤:( –

+0

它給了我cellule和行的標題:標題是ID Vlan aso這個結果給我:ID Vlan212821292130 –

+0

這怎麼可能是一個'整數'然後? –