Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to fix Bad return type in method reference: cannot convert RecipeIndicatorsDto to R?

Tags:

java

How to fix error below?

Bad return type in method reference: cannot convert RecipeIndicatorsDto to R

thanks guys

public List<RecipeIndicatorsDto> listByUploadTime(LocalDateTime localDateTime) {
    if(localDateTime!=null) {
        QRecipeIndicator qRecipeIndicator = recipeIndicatorRepo.getQEntity();
        QOrder qOrder=orderRepo.getQEntity();
        List<Predicate> predicates = new ArrayList<>();
        predicates.add(qRecipeIndicator.uploadTime.before(localDateTime));
        List<RecipeIndicator> recipeIndicators = recipeIndicatorRepo.find(predicates, new PageRequest(0, 100));
        List<Order> orders=orderRepo.find(null,new PageRequest(0,100));
        return recipeIndicators.stream()
                               .map(DtoFactory::recipeIndicatorsDto)
                               .collect(Collectors.toList());
}
          
public static RecipeIndicatorsDto recipeIndicatorsDto(RecipeIndicator recipeIndicator, Order order) {
    if (recipeIndicator != null&&order!=null) {
        RecipeIndicatorsDto recipeIndicatorsDto = new RecipeIndicatorsDto();
        recipeIndicatorsDto.setVerificationStatus(recipeIndicator.getVerificationStatus());  
        recipeIndicatorsDto.setUploadTime(recipeIndicator.getUploadTime());
        recipeIndicatorsDto.setRemark(order.getRemark());
        recipeIndicatorsDto.setUseDays(order.getUseDays());
}
like image 554
awu Avatar asked Nov 06 '22 17:11

awu


1 Answers

DtoFactory::recipeIndicatorsDto is a method reference to a static method that requires an RecipeIndicator parameter and an Order parameter. Since you are passing it to map of a Stream<RecipeIndicator>, only the RecipeIndicator instance is available.

You can use a lambda expression instead:

.map(recipeIndicator -> DtoFactory.recipeIndicatorsDto(recipeIndicator, qOrder))

I'm not sure which Order instance you want to pass to it. I guessed it might be qOrder.

like image 52
Eran Avatar answered Nov 14 '22 22:11

Eran