了解代码特定的功能概念

时间:2012-06-08 03:10:04

标签: java struts concurrenthashmap

我对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);
}

关注&#34; PRDCT_SVC_IND&#34;周围的代码块,如何将列的名称映射到labelvaluebean?
  虽然我对并发映射和键值对功能有所了解,但我对这里的大多数概念都非常不确定,并尝试在互联网上搜索而没有太多运气。我想要更清楚地概述上面这些行的实际含义(一般来说),就像这里使用的概念而言,如concurrenthashmap,list(labelvaluebean)等。   非常感谢任何投入。

1 个答案:

答案 0 :(得分: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存储在缓存中