我有一些检查http响应的Java代码。现在,我想对照客户端错误(4xx)系列检查代码,该怎么办?

int responseCode = ab.sendGetRequest(href);

最简单的解决方案是:
if (400 <= responseCode && responseCode < 500 ){
   //...
}

或在编码约定方面更好一些,但可读性大受好评:
if (HttpStatus.SC_BAD_REQUEST <= responseCode &&
    responseCode < HttpStatus.SC_INTERNAL_SERVER_ERROR)

我如何像下面这样以某种方式针对responseCode系列检查4xx ...
CLIENT_ERROR.contains(code)

重要的一点是,我不想使用自定义解决方案(编写自己的CLIENT_ERROR或检查范围,...)。为此目的,java中是否没有相应的Class?

最佳答案

我实际上正在使用javax.ws.rs.core.Response.Status.Family。感谢@Kon提供有用的提示!

import javax.ws.rs.core.Response.Status.Family;

if (Family.familyOf(responseCode) == Family.CLIENT_ERROR) {

07-24 19:22