如何编写一个接受不同对象类型但在 Java 中执行相同操作的函数



我正在使用import org.apache.http.client.methods.HttpPut和HttpGet来形成我的put和get请求的标头。这些方法中添加的许多标头都是相同的,我想避免在我的 put 和 get 函数中编写相同的代码。有没有办法让一个函数同时接受 HttpPut 或 HttpGet 对象作为参数并能够添加标头?例如:

HttpGet get= new HttpGet(url);
get = addHeaders(get);
get.setHeader();//custom headers for get requests
HttpPut put = new HttpPut(url);
put = addHeaders(put);
Object addHeaders(Object x) {
   x.setHeader();//add the common headers
   return x;
}

最好的方法是什么?

HttpGetHttpPost都实现了包含方法HttpMessage接口setHeader()

public void setHeader(HttpMessage msg){
      msg.setHeader("xxxx");
}

会做这个伎俩。

HttpMessageHttpGetHttpPut的父级。

试试这个

HttpMessage addHeaders(HttpMessage x) {
   x.setHeader();//add the common headers
   return x;
}

最新更新