2014-03-07 63 views
0

這是我的代碼在這裏。我面臨的問題是,我想返回一個整數序列,我計劃使用一個整數ArrayList。以下是我的類實現名爲IntSequence的接口。返回ArrayList的錯誤 - 方法的不兼容返回類型(初學者)

import java.util.*; 
public class IntArray implements IntSequence { 

int[] a; 

public IntArray(int size) { 
    a = new int[size]; 
} 

@Override 
public int length() { 
    return a.length; 


} 

@Override 
public int get(int index) { 

    int use = this.a[index]; 
    return use; 
} 

@Override 
public void set(int index, int value) { 
    this.a[index] = value; 
} 



@Override 
public IntSequence subSequence(int index, int size) { 
    ArrayList<Integer> valuelist = new ArrayList<>(); 
    for(int i = a1; i <= a2 + a1; i++) 
    { 
     if((a1 + a2) <= a.length) 
      valuelist.add(a[i]); 
    } 
    IntArray cObject = new IntArray(size); 



    return new IntSequence() { 

     @Override 
     public int length() { 
      return a.length; 

      // TODO Auto-generated method stub 
     } 

     @Override 
     public int get(int index) { 
      return null; 

      // TODO Auto-generated method stub 

     } 

     @Override 
     public void set(int index, int value) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public IntSequence subSequence(int index, int size) { 
      return (IntSequence) valuelist; 
     } 
    }; 
} 
} 

這裏是我的IntSequence接口 -

public interface IntSequence { 

    int length(); 

    int get(int index); 

    void set(int index, int value); 

    IntSequence subSequence(int index, int size); 
} 

問題 - 我是回子序列是一個ArrayList這是一個incompitable類型返回該方法。我是一名開工者,誠實地不知道如何解決這個問題。 (我不允許改變這些方法的參數,但仍然可以做到這一點)。

在此先感謝您抽出寶貴時間來看看我真的很感激!

+0

什麼是你所面對的實際問題?你爲什麼告訴返回類型是不兼容的。 –

+0

因爲它期望一個IntSequence類型返回類型,但是,我返回一個ArrayList。 – user2785235

回答

1

您試圖返回ArrayList,而不是新的IntArray。

請勿使用ArrayList。創建

IntArray cObject = new IntArray(size); 

然後將值設置到該值上。我會留給位給你:)

然後就......(沒有必要的內嵌類)

return cObject;