gpt4 book ai didi

java - 检查 "http_status/100 != 2"比 "http_status != 200"好

转载 作者:太空狗 更新时间:2023-10-29 22:48:31 27 4
gpt4 key购买 nike

在他的 blog 上谈论 HTTPUrlConnection 时Tim Bray 为我们提供了以下用于检查 HTTP 状态代码的代码段

// better check it first
if (http_status / 100 != 2) {
// redirects, server errors, lions and tigers and bears! Oh my!
}

http_status/100 != 2 是否比 http_status != 200 更好或更快?

最佳答案

这样做的原因是因为状态代码是整数,所以这个表达式将是一个整数除法

整数除法表示 all successful HTTP status codes (即 200-299 之间的那些)将使表达式为假,而不仅仅是 200。

不是对 Tim Bray 吹毛求疵,但如果我自己写这篇文章并想清楚地传达我的意图,那么出于可读性目的,我可能希望看到更像 !statusCode.isSuccessful 的内容.如果您不知道 HTTP 2xx 表示成功的状态代码,那么整数除法的意图就不会很明显。

当然,整数除法可能比制作一堆假设的 StatusCode 对象然后对它们执行 isSuccessful 方法调度更高效。性能可能是网络库类的一个关键目标。


Is http_status / 100 != 2 better or faster than http_status != 200?

它不会更快(两个操作对比一个),但它是否“更好”是一个苹果与橘子的比较,因为这两个操作具有不同的行为。

关于java - 检查 "http_status/100 != 2"比 "http_status != 200"好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9759826/

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