如何将方法签名从void更改为CompletionStage <Void>?

时间:2020-08-12 22:36:48

标签: java-8 future completion-stage

class AnotherClass {

    Option<Integer> validateAndGetInt(Xyz xyz, Mno mno, String strValue) {
        if (strValue != null) {
           int intValue = 1;
           
           try{
              intValue = Integer.parseInt(strValue);
           } catch (Exception e) {
              throw new Exception("err");
           }
       
           Printer.getInstance().validateInt(xyz, mno, intValue);

           return Optional.of(intValue);
        }
    }
} // class ends

class Printer {
   void validateInt(Xyz xyz, Mno mno, int x) {
      int m = xyz.getTeamVal(mno, x);
      if(m < 0) {
          throw new CustomException("invalid team value");
      }
   }
}

我计划将void的{​​{1}}移至CompletionStage<Void>

validate(int x)将作如下更改,但我不确定如何在调用方中使用。

validate

有人可以帮忙解释一下如何在 CompletionStage<Void> validateInt(Xyz xyz, Mno mno, int x) { CompletableFuture<Void> f = new CompletableFuture<Void>(); int m = xyz.getTeamVal(mno, x); if(m < 0) { f.completeExceptionally(new CustomException("invalid team value")); } else { f.complete(null); } return f; } 中使用它吗?

我不想使用它,

AnotherClass

0 个答案:

没有答案