java – Android工作室中的Android URLConnection.setRequestProperty()似乎没有做任何事情

我在 android studio中查看了URLConnection.setRequestproperty()的源代码,它似乎没有设置任何东西:

public void setRequestProperty(String field,String newValue) {
        checkNotConnected();
        if (field == null) {
            throw new NullPointerException("field == null");
        }
    }

这里是checkNotConnected():

private void checkNotConnected() {
        if (connected) {
            throw new IllegalStateException("Already connected");
        }
    }

在这里错过了什么? HttpURLConnection“扩展类”没有setRequestproperty()的实现,所以看起来这个方法绝对没有任何意义.

解决方法

URLConnection一个抽象基类,不实现任何特定协议.

您正在寻找HttpURLConnection. URLConnection类的这个实现覆盖并在功能上实现了与HTTP协议一起使用的setRequestproperty()方法.

UPDATE

仔细观察后,我发现HttpURLConnection也是一个抽象类.在Android Studio中可以通过右键单击类声明并单击Go To – >来查找任何实现.实施(一个或多个).

但我怀疑实际的具体实现是随我们使用的SDK一起提供的.我只发现了Java特定的实现(rt.jar).

这可能意味着SDK中不包含setRequestproperty()的实际实现.

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...