android studio中的Android URLConnection.setRequestProperty()似乎没有做任何事情

时间:2016-04-06 20:56:46

标签: java android rest android-studio java-8

我在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()的实现,所以看起来这个方法绝对没有任何效果。

1 个答案:

答案 0 :(得分:0)

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

您正在寻找HttpURLConnectionURLConnection类的此实现覆盖并在功能上实现用于HTTP协议的setRequestProperty()方法。

更新

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

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

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