gpt4 book ai didi

Java,对象和方法之间的类型

转载 作者:行者123 更新时间:2023-11-29 04:31:40 24 4
gpt4 key购买 nike

Callable<Boolean> callable = new Callable<Boolean>() {
public Boolean call() throws Exception {
return true; // do something useful here
}
};

Retryer<Boolean> retryer = RetryerBuilder.<Boolean>newBuilder() =====>
.retryIfResult(Predicates.<Boolean>isNull()) =====>
.retryIfExceptionOfType(IOException.class)
.retryIfRuntimeException()
.withStopStrategy(StopStrategies.stopAfterAttempt(3))
.build();
try {
retryer.call(callable);
} catch (RetryException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}

问题:

RetryerBuilder.<Boolean>newBuilder()这条线。

为什么我们可以放<Boolean>在方法之前?

这对我来说在 Java 中很奇怪。

谁能帮我解释一下谢谢

最佳答案

这是一个所谓的 generic method .通常,泛型方法的返回类型(在下面的例子中,T test(T obj))是由赋值决定的,即String foo = Foo.test("bar")。如果调用方法时未将其返回值分配给变量,则必须解析泛型内联。

class Foo {
public static <T> T test(T obj) {
return obj;
}

public static void main(String[] args) {
String foo = Foo.test("foo");

System.out.println(foo); // output: "foo"
System.out.println(Foo.<String>test("Test")); // output: "Test"
System.out.println(Foo.<Integer>test(16)); // output: "16"
}
}

关于Java,对象和方法之间的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43546912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com