2012-03-16 54 views
2
public interface IFoo<TKey, FooEntity<TValue>> { 
    // stuff 
} 

我得到這個錯誤:
類型參數FooEntity是隱藏式FooEntity類型參數FooEntity是隱藏式FooEntity

public class FooEntity<T> { 

    private T foo; 


} 

我怎樣才能解決這一問題?

我希望能夠在其他地方實現IFoo接口。

回答

3

看到這個:

public interface IFoo<TKey, FooEntity<TValue>> { 
    // stuff 
} 

你定義一個名爲IFoo的接口。當定義一個類型時,<>之間的東西是類型參數。使用IFoo界面時應該提供實際的類型,而不是在定義IFoo時提供。

你真的是這樣的:

public interface IFoo<TKey, TValue> { 
    void doSomething(TKey key, FooEntity<TValue> value); 
} 

而且

public class MyFoo implements IFoo<String, Integer> { 
    @Override 
    public void doSomething(String key, FooEntity<Integer> value) { 
     // TODO: .... 
    } 
} 
0

試試這個...

class FooEntity<K> { } 

interface IFoo<K,V> { } 

class IFooImplElseWere<K,V> implements IFoo<K,V> { } 

IFoo<String, FooEntity<String>> ifi = new IFooImplElseWere<String,FooEntity<String>>();