我有以下代码,如下所示,我要更正返回类型

  public boolean deleteById(Integer id) throws ResourceNotFoundException {

        abcRepository.deleteById(id);
        return true;
    }


我正在寻求将其更正为

if (abcRepository.deleteById(id))
       {
        return true;
       } else
        return false;


现在,此存储库正在调用Jpa存储库方法,该方法在我检查过的反编译器中的返回类型如下所示

void deleteById(ID var1);


现在,请告知我如何聪明地更改退货类型

最佳答案

似乎您希望您的方法在删除对象时返回true,而在找不到对象时返回false。

您正在调用的方法是void,因为它使用异常ResourceNotFoundException表示未找到对象,因此您需要捕获该异常并返回false,而不是使异常冒泡:

public boolean deleteById(Integer id) { // <-- removed throws
    try {
        abcRepository.deleteById(id);
        return true;
    } catch (ResourceNotFoundException ignored) {
        return false;
    }
}

10-07 12:51