为了账号安全,请及时绑定邮箱和手机立即绑定

getHeaderField为何总是return null

getHeaderField为何总是return null

MM们 2018-08-10 18:41:17
各位大佬,我无意中查看源码的时候产生如下疑问:java.net.URLConnection类中有一个getHeaderFieldDate方法,如下:@SuppressWarnings("deprecation")public long getHeaderFieldDate(String name, long Default) {     String value = getHeaderField(name);    try {        return Date.parse(value);     } catch (Exception e) { }    return Default; }该方法中调用了一个getHeaderField方法,如下:public String getHeaderField(String name) {    return null; }getHeaderField方法总是返回null,这是为什么呢?谢谢!
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

    /**
     * Returns the value of the named header field.
     * <p>
     * If called on a connection that sets the same header multiple times
     * with possibly different values, only the last value is returned.
     *
     *
     * @param   name   the name of a header field.
     * @return  the value of the named header field, or {@code null}
     *          if there is no such field in the header.
     */
    public String getHeaderField(String name) {        return null;
    }

事实上这个方法在常见实现类里都有被覆写:

https://img1.sycdn.imooc.com//5b700cfa0001e51a08000176.jpg

比如常见的 HttpURLConnection 中:

public String getHeaderField(String var1) {    try {        this.getInputStream();
    } catch (IOException var3) {
        ;
    }    return this.cachedHeaders != null 
        ? this.filterHeaderField(var1, this.cachedHeaders.findValue(var1)) 
        : this.filterHeaderField(var1, this.responses.findValue(var1));
}


查看完整回答
反对 回复 2018-08-12
  • 1 回答
  • 0 关注
  • 1354 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号