Enum 方式 Java 单例的方法

请参考下面的代码:

[code]package com.bcodepot.core.common.search.item;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.bcodepot.core.common.PagedCriteria;
import com.bcodepot.core.common.search.ItemIndexSearch;
/**
*

  • @author YuCheng Hu

*/
public enum ItemSearchUtils {
INSTANCE;

private static Logger logger = LoggerFactory.getLogger(ItemSearchUtils.class);
 
/**
 *
 * @param docs
 * @return
 */
public List<ItemSearchResult> getListingResults(SolrDocumentList docs) {
    List<ItemSearchResult> items = new ArrayList<ItemSearchResult>();
    for (SolrDocument doc : docs) {
        ItemSearchResult item = new ItemSearchResult();
        item.setMlsNumber(Integer.valueOf((String) doc.getFieldValue(ItemIndexSearchField.FIELD_ID)));
        item.setItemName((String) doc.getFieldValue(ItemIndexSearchField.FIELD_ITEM_NAME));
        // item.setStreetNumber((String)doc.getFieldValue(FIELD_STREET_NUMBER));
        // item.setBedrooms((Integer)doc.getFieldValue(FIELD_BEDROOMS));
        // item.setBathrooms((Integer)doc.getFieldValue(FIELD_BATHROOMS));
        //
        logger.debug(">>>" + item.getItemName());
        items.add(item);
    }
    return items;
}

}[/code]