Java - фильтр, возвращающий нулевое значение - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь отфильтровать список, но он возвращает нулевое значение для каждого поиска. Я перепробовал все возможные способы, но ничего не произошло. пожалуйста, помогите мне в этом

public class IssuerCreditDetailsUpdate implements ItemProcessor<Isin_Master, Issuer_credit_rating_details> {

    protected final Logger logger = Logger.getLogger(this.getClass().getName());
    static ArrayList<Credit_rating_details> Credit = new ArrayList<Credit_rating_details>();
    private String validCreditRating = null;

    @Override
    public Issuer_credit_rating_details process(Isin_Master item) throws Exception {
        Issuer_credit_rating_details row = new Issuer_credit_rating_details();
        if(isCreditRatingValid(item.getIssuer_Id())!= null) {   
                        row.setIssuer_id(item.getIssuer_Id());
            row.setName_of_issuer(item.getIssuerName());

            return row;
        }

        return null;
    }

    private String isCreditRatingValid(String issuerid) {
        System.out.println(Credit.stream().filter(i-> i.getIssuer_id().contains(issuerid)).collect(Collectors.toList()));
        List<Credit_rating_details> result = Credit.stream().filter(i-> i.getIssuer_id().contains(issuerid)).collect(Collectors.toList());
        if(!result.isEmpty() ) {

            validCreditRating = result.get(0).getCredit_rating();
            return result.get(0).getCredit_rating();
        }else {
            return null;
        }
    }
}

1 Ответ

0 голосов
/ 05 ноября 2018

Возможно, i-> i.getIssuer_id().contains(issuerid) не соответствует ожидаемому. Какой тип возвращается в Credit_rating_details.getIssuer_id ()? Это тоже строка? Возможно ли, что входной идентификатор эмитента и идентификатор_кредитника Credit_rating_details находятся в разных случаях?
Попробуйте i-> i.getIssuer_id().equalsIgnoreCase(issuerid), чтобы увидеть, если вы получите другой результат.

...