2 回答
TA贡献1757条经验 获得超8个赞
要么使用泛型,要么使用不Void返回任何内容的实现
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贡献1831条经验 获得超10个赞
我认为更好的解决方案是采用 C++ 风格 :D 不要返回值,而是传递一些值并让它在方法中改变。例如,通过收集所需的数据。在那次调用之后,集合是否为空:
public interface RunnableAction<T>
{
void run(final Action action, final Context Context, Collection<T> pickedData);
}
添加回答
举报