我有一些由框架调用的通用处理器。参数是我处理的有效负载。
interface Processor<T, U> {
U process(T t);
}
在某些情况下,有效负载没有意义并且不存在(仅计算并返回响应)。在这种情况下,框架将
null
作为参数传递。我决定为此使用javax.lang.model.type.NullType
:new Processor<NullType, String>() {
public String process(NullType unused) {
...
return result;
}
}
我在这里误用了
NullType
的意图吗? java.lang.Void
还是其他更合适的方法? 最佳答案
在这种情况下,我更喜欢Void
,这使得传递null
成为唯一有效的参数。
另一方面,可以实例化NullType
。
出于好奇,it is possible to instantiate an object of type Void
。