getHeaderField为何总是return null

各位大佬,我无意中查看源码的时候产生如下疑问:
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,这是为什么呢?谢谢!


MM们
浏览 1407回答 1
1回答

慕后森

&nbsp;&nbsp;&nbsp;&nbsp;/** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Returns&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;named&nbsp;header&nbsp;field. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;If&nbsp;called&nbsp;on&nbsp;a&nbsp;connection&nbsp;that&nbsp;sets&nbsp;the&nbsp;same&nbsp;header&nbsp;multiple&nbsp;times &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;with&nbsp;possibly&nbsp;different&nbsp;values,&nbsp;only&nbsp;the&nbsp;last&nbsp;value&nbsp;is&nbsp;returned. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;the&nbsp;name&nbsp;of&nbsp;a&nbsp;header&nbsp;field. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;named&nbsp;header&nbsp;field,&nbsp;or&nbsp;{@code&nbsp;null} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;there&nbsp;is&nbsp;no&nbsp;such&nbsp;field&nbsp;in&nbsp;the&nbsp;header. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/ &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String&nbsp;getHeaderField(String&nbsp;name)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;null; &nbsp;&nbsp;&nbsp;&nbsp;}事实上这个方法在常见实现类里都有被覆写:比如常见的&nbsp;HttpURLConnection&nbsp;中:public&nbsp;String&nbsp;getHeaderField(String&nbsp;var1)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.getInputStream(); &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(IOException&nbsp;var3)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;this.cachedHeaders&nbsp;!=&nbsp;null&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;?&nbsp;this.filterHeaderField(var1,&nbsp;this.cachedHeaders.findValue(var1))&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;this.filterHeaderField(var1,&nbsp;this.responses.findValue(var1)); }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java