0

我对struts和java比较陌生。我一直在尝试理解以下代码。

 List<LabelValueBean> dbList = getCardProductList();

    ConcurrentMap<Integer, ProductItem> ret = new ConcurrentHashMap<Integer, ProductItem>();
    for (LabelValueBean lb : dbList) {
        ProductItem pi = new ProductItem();
        pi.setId(Integer.valueOf(lb.getId()));
        pi.setCode(lb.getCode());
        pi.setName(lb.getDescription());

        LabelValueBeanAuxCol[] aux = lb.getLabelvaluebeanauxcol();
        pi.setTypeProduct(Boolean.TRUE);

        if (null != aux) {
            for (LabelValueBeanAuxCol element : aux) {
                if (null != element
                        && "PRDCT_SVC_IND".equals(element.getName())) {
                    pi.setTypeProduct(Boolean.valueOf("Y".equals(element
                            .getValue())));
                }
            }
        }
        pi.setNeedSetup(Boolean.TRUE);
        ret.put(pi.getId(), pi);
    }
    return Himms2LookupUtil
            .<ConcurrentMap<Integer, ProductItem>> setValueInCache(
                    Himms2Names.CARD_SERVICE_PRODUCT_LIST, ret);
}

关于“PRDCT_SVC_IND”周围的代码块,列名如何映射到 labelvaluebean?
虽然我对并发映射和键值对功能有一个想法,但我对这里的大多数概念都不太确定,并且尝试在互联网上搜索但没有太多运气。我希望更清楚地了解上述行的实际含义(当然,一般来说),就这里使用的概念而言,如 concurrenthashmap、list(labelvaluebean) 等。任何输入将不胜感激。

4

1 回答 1

1

代码正在做以下事情:-

1) 在第一行获取 CardProductList 并将引用存储在 dbList 对象中

List<LabelValueBean> dbList = getCardProductList();`

2)创建键值的ConcurrentMap。

3) 开始迭代 CardProductList 并对每个 CardProductList 对象执行以下操作 -

a) Crates ProductItem object.
b) setting CardProduct object values (id, code, name) into ProductItem object.
d) setting ProductItem.typeProduct to TRUE.
c) getting Labelvaluebeanauxcol and store it in a LabelValueBeanAuxCol[] array instance called aux.
d) now check if aux is not null then iterates aux array and checks if(elemet is not null  AND element name IS EQUAL TO "PRDCT_SVC_IND"
    THEN
        set ProductItem.TypeProduct to True if element.value = Y
        ELSE
        set ProductItem.TypeProduct to FALE
e) set ProductItem.NeddSetup = TRUE
f) set ProductItem.id and ProductItem into ConcurrentMap.

4) 将 ConcurrentMap 存储在缓存中

于 2012-06-08T05:43:28.113 回答