2012-05-25 125 views
1

以下代碼顯示的錯誤是:無法將對象轉換爲整數。我不知道我還會包括什麼來施放它。將Java對象轉換爲整數

private RowFilter filter(final int itemsPerPage,final int target) { 
     return new RowFilter() { 
      public boolean include(Entry entry) { 

       /* HERE I AM RECEIVING ERROR: Multiple markers at this line 
       - Type mismatch: cannot convert from Object to int 
       - Cannot cast from Object to int */ 
       int ei = (int) entry.getIdentifier(); 

       return (target * itemsPerPage <= ei && ei < target 
         * itemsPerPage + itemsPerPage); 
      } 
     }; 
    } 
+1

這將是一個「整數」(對象)而不是「整數」(原始)。爲了更快地獲得更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –

+0

你可以把Entry的getidentifier方法簽名? – BachT

+0

@AndrewThompson如果它是一個Integer對象,那麼這個代碼不應該繼續工作,因爲它會自動取消裝箱? – Hassan

回答

5

你想要的是:

int ei = ((Integer) entry.getIdentifier()).intValue(); 
0

我覺得你的方法在這裏返回Integer對象,如果這是你需要做這樣的案例:

int ei = ((Integer)entry.getIdentifier()).intValue();