我需要通过setEntity(...)方法在ByteArrayRequestEntity
对象上设置HttpPost
作为实体,该方法需要HttpEntity
作为参数。通过Netbeans提示,我将ByteArrayRequestEntity
转换为HttpEntity
,但我不确定为什么这是允许的。 HttpEntity
是一个接口,我不确定ByteArrayRequestEntity
是否实现了该接口的所有方法(或者如果需要)。任何人都可以澄清这是一个允许的演员吗?
答案 0 :(得分:0)
您不能将ByteArrayRequestEntity强制转换为HttpEntity,但您应该可以从中创建一个:
new ByteArrayRequestEntity(yourEntity.getContent())
真正的问题是你在混合图书馆。 ByteArrayRequestEntity来自过时的HttpClient 3.x library,而HttpEntity来自新的HttpComponents library,因此它们不是直接兼容的。如果可能,您应该将所有内容切换到HttpComponents。
答案 1 :(得分:-2)
做一些调查没有坏处,对吗?
根据Apache HTTP Components文档,ByteArrayRequestEntity
实现了界面RequestEntity
,而不是HttpEntity