首页 > 解决方案 > 将字符串与列表中的值进行比较

问题描述

我有两个值 5 和 6,它们都是整数,它们是 ArrayList 的一部分。我还有另一个具有字符串输入的布尔方法,我必须比较该字符串的值并遍历该列表并查看该值是否与该列表中的元素匹配。如果匹配,那么我应该返回 true,否则返回 false。目标是查看我的值是否与列表中的值之一匹配。该列表是常量类的一部分,我在 Validator 类中有我的方法。下面是我的代码:

常量.java:

public static final List<Integer> TYPES = new ArrayList<Integer> (Arrays.asList(5,6));

验证器.java:

public static boolean isPromoTypeFormatValid (String value) {
    value = Util.getTrimmedValue(value);
    int intValue = Integer.valueOf(value);
    List <Integer> promoTypeList = scpduuConstants.PROMO_TYPES;
    for(int i = 0; i < promoTypeList.size(); i++) {
        if (promoTypeList.contains(intValue)) {
            return true;
        }
    }
    return false;
}

有没有更好的方法来做到这一点,当它是一个整数时,将 String 值与 ArrayList 值进行比较时我会遇到问题吗?我对此有点陌生,但试图找出最有效的方法。请让我知道任何建议。

标签: javastringlistarraylistcontains

解决方案


也许这会有所帮助:

public static final List<Integer> TYPES = new ArrayList<Integer>(Arrays.asList(5, 6));

public static void main(String[] args) {

    final String value = "5";

    checkValue(value);

}

public static boolean checkValue(String value) {

    final var valueAsInt = Integer.parseInt(value.trim());
    
    return TYPES.contains(valueAsInt);

}

推荐阅读