有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从方法返回对象A或对象B

我有一个使用RESTAPI的方法,可以接收OK响应对象(我将其称为MyObject)或错误对象(MyError)作为响应。此时,我的方法必须返回MyObject或MyError,我应该如何处理它

我的想法是创建一个HandleResponse对象,它同时包含MyObject和MyError,并返回这个对象。然后在调用类中,我检查这两个对象中的哪一个为null,从而处理另一个对象。这是正确的还是有更正确的管理


共 (1) 个答案

  1. # 1 楼答案

    您提出的方法是可以的,事实上,函数式编程使用类似的方法来处理这种情况。在vavr库(https://www.vavr.io/)中,一个向java添加函数式编程特性的库中,有一个名为非此即彼的monad,其作用完全相同

    它是一个具有两种泛型类型的对象<;E、 T>;其中E是错误对象的类型,T是成功回答的类型。您可以对两个部分(错误或成功)上的这些对象应用不同的转换,以在任何情况下应用所需的逻辑。 如果您对如何应用此功能感兴趣,可以访问https://www.baeldung.com/vavr-either

    如果API调用中的错误也意味着您自己的应用程序中的错误,那么另一个选项是在API返回错误时引发异常,并正确处理它,以便该方法只返回成功案例