【发布时间】:2017-02-15 16:25:53
【问题描述】:
我正在编写将与 HttpGet 和 HttpPost 一起使用的函数。 是这样的:
private void initialize(HttpRequestBase method)
{
if(method == new HttpPost())
{
String body = "body";
HttpEntity entity = new ByteArrayEntity(body.getBytes("UTF-8"));
method.setEntity(entity);
}
问题是 HttpRequestBase 不支持 .setEntity。如何编写支持 HttpGet 和 HttpPost 的函数而不会出现这样的问题?
【问题讨论】:
-
您知道您的
if条件将永远为真,不是吗?与新对象相比,任何现有对象引用都将返回false。 -
哦,你是对的。有什么办法吗?
-
if(method instanceof HttpPost) -
当然,使用
instanceof。然后你也可以投。但这是非常基本的Java。也许你应该review Inheritance。 -
谢谢回复,我试试
标签: java java-8 httpclient apache-httpclient-4.x