2013-06-18 45 views
0

我在PuTTY中運行我的程序時遇到了錯誤,但在Eclipse中沒有運行。我在網上瀏覽過,試圖找到我的問題的答案,但一直都沒有。PuTTY中的不可轉換類型(unix)但不是Eclipse

錯誤:

dataSummary.java.227: inconvertible types 
found: java.lang.Object 
required: int 
    int contractIDDisplay = (int) int intr.next(); 
               ^
1 error 

這裏是代碼:

Iterator itr = set.iterator(); 
      while (itr.hasNext()) 
      { //while 
       int contractIDDisplay = (int) itr.next(); 
       if (contractIDDisplay == 1) 
       { 
        System.out.printf("%d, %d, %d, %d",contractIDDisplay, monthCounter1, firstDate1, lastDate1); 
        file.format(contractIDDisplay + ", " + monthCounter1 + ", " + firstDate1 + ", " + lastDate1 + ", "); 

       } 

有前更多的代碼和這些行之後,但我不認爲這些線是非常重要的。如果他們請讓我知道。 「set」是一個Set。

爲什麼Eclipse能夠運行我的代碼和PuTTY不?如果無法解決問題,我可以解決此問題嗎?

+1

什麼樣的聲明是:'int contractIDDisplay =(int)int intr.next();'!你用putty做FTP我猜! – NINCOMPOOP

+0

你在迭代什麼?你確定它是一個整數列表嗎? – thegrinner

+0

你使用什麼版本的Java? – johnchen902

回答

1

當你在命令行中運行Java,你可能會調用不同Java的版本比運行eclipse的版本要高。一個系統有多次安裝java的情況並不少見 - 隨着時間的推移,人們升級,打補丁,最後進行並行安裝。關鍵問題是從命令行執行java時,哪個版本的java在PATH中?

找到的一種方法是從命令行運行「java --version」,看看它是否是你期望的。

然後,您可以將它與eclipse.ini文件中引用的版本進行比較。

+0

我怎麼能更新我的Java,我有一個炎熱的時間試圖更新路徑bc我有1.7和1.6,但我不能將編譯器上的Unix(PuTTY)更改爲1.7。 – Danny

+0

@Danny你想更新運行eclipse的java嗎?或者你從命令行運行的那個? – schtever

0

嗯,我不知道你爲什麼說PUTTY,但在JAVA int不是一個對象Integer是。 Eclipse(好吧,我認爲它是編譯器)可能會將int int整型爲Integer,而另一個編譯器則不會。

嘗試使用整數而不是int。然後,你可以調用intValue()如果對象是不NULL

如果使用Sun,你可能有興趣通過這個鏈接也:http://geek.starbean.net/?p=160

相關問題