使用重复代码的Java简写

时间:2017-07-02 14:21:06

标签: java java-8

我想知道我是否可以在Java 8中编写更短的代码, 我们假设我需要添加额外的set方法。

urlConnection = (HttpURLConnection) url.openConnection(proxy);
urlConnection.setConnectTimeout(900000);
urlConnection.setReadTimeout(900000);
...

1 个答案:

答案 0 :(得分:0)

Java中没有允许你想要的语法,但如果你在工具箱中使用了这个方法,你可以模仿它:

public static <T> T with(T instance, Consumer<? super T> action) {
    action.accept(instance);
    return instance;
}

您的示例现在将成为:

HttpURLConnection urlConnection = with(
    (HttpURLConnection) url.openConnection(proxy),
    u -> {
        u.setConnectTimeout(900000);
        u.setReadTimeout(900000);
    });

但老实说,我看不出多少......