Tra*_*ebb 69 java return-type void
我正在ResponseHandler为apache HttpClient包实现一个,如下所示:
new ResponseHandler<int>() {
public int handleResponse(...) {
// ... code ...
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
但我希望handleResponse函数不返回任何东西,即void.这可能吗?以下内容无法编译,因为void它不是有效的Java类型:
new ResponseHandler<void>() {
public void handleResponse(...) {
// ... code ...
}
}
Run Code Online (Sandbox Code Playgroud)
我想我可以代替void用Void返回一个Void对象,但是这并不是我真正想要的东西.问:是否有可能组织这次回调的情况以这样的方式,我可以返回void从handleResponse?
ILM*_*tan 83
该Void类型是为这个确切的情况下创建:创建方法与通用返回类型,其中一个子类型可以是"无效的".Void设计的方式是不可能创建那种类型的对象.因此,类型的方法Void将始终返回null(或异常完成),这与您将要获得的一样接近于零.你必须加入return null方法,但这只会是一个小小的不便.
简而言之:使用Void.
Pet*_*rey 55
泛型只处理对象类.泛型不支持void和原始类型,您不能将它们用作参数化类型.你必须使用Void.
你能说为什么不想用Void?
| 归档时间: |
|
| 查看次数: |
44918 次 |
| 最近记录: |