2 回答

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊
要么使用泛型,要么使用不Void返回任何內(nèi)容的實(shí)現(xiàn)
public interface RunnableAction<T>
{
T run(final Action action, final Context Context);
}
class Foo implements RunnableAction<Void>
{
public Void run(final Action action, final Context Context)
{
//do something
return null; // Void is not instantiable, so return null
}
}
或有兩種類型的操作:
public interface CallableAction<T>
{
T run(final Action action, final Context Context);
}
public interface RunnableAction
{
void run(final Action action, final Context Context);
}

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊
我認(rèn)為更好的解決方案是采用 C++ 風(fēng)格 :D 不要返回值,而是傳遞一些值并讓它在方法中改變。例如,通過(guò)收集所需的數(shù)據(jù)。在那次調(diào)用之后,集合是否為空:
public interface RunnableAction<T>
{
void run(final Action action, final Context Context, Collection<T> pickedData);
}
添加回答
舉報(bào)