本段代码主要作用是:从zookeeper配置中心取到一个string类型的变量,然后根据逗号进行分隔并转成list列表exculdePromoTypeList (该列表的string变量都是数字),最后转成了Integer类型的列表,以备后用。
@Value("#{jobPushSearch['exclude_push_search_promo_type']}")
private String exculdePromoType;
//配置中心配置的促销类型不写搜索中间库
List<String> exculdePromoTypeList = Arrays.asList(exculdePromoType.split(","));
List<Integer> promoTyoeList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(exculdePromoTypeList)) {
for (String promoTypeString : exculdePromoTypeList) {
promoTyoeList.add(Integer.valueOf(promoTypeString));
}
}
exculdePromoType为一个String变量,首先以逗号分隔,可以转换成string类型的数组;然后使用Arrays.asList()将其转成list列表。
如:List stooges = Arrays.asList(“Larry”, “Moe”, “Curly”);
其中,Arrays.asList()的源码如下:
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
由此可以看出,该方法直接返回一个初始化好的ArrayList,在字符串转成list时很方便。