[java]Map取值方法,其中取得多種值,避免null值轉換
阿新 • • 發佈:2019-02-20
import java.math.BigDecimal; import java.util.Date; import java.util.Map; /** * <p> * Map取值方法,其中取得多種值,避免null值轉換 * </p> * @author hailan * */ public class MapGetterTool { private Map<String,Object> map; public MapGetterTool(Map<String,Object> map){ this.map = map; } /** * <p> * 根據Key返回一個Double型 * </p> * @param key * @return Double */ public Double getDouble(String key){ if(map.get(key)!=null){ if(map.get(key) instanceof Double){ return (Double)map.get(key); }else{ return 0.0; } }else{ return 0.00; } } /** * <p> * 根據Key返回一個String * </p> * @param key * @return String */ public String getString(String key){ if(map.get(key)!=null){ if(map.get(key) instanceof String){ return (String)map.get(key); }else{ return null; } }else{ return ""; } } /** * <p> * 根據Key返回一個Date * </p> * @param key * @return Date */ public Date getDate(String key){ if(map.get(key)!=null){ if(map.get(key) instanceof Date){ return (Date)map.get(key); }else{ return null; } }else{ return null; } } /** * <p> * 根據Key返回一個Integer * </p> * @param key * @return Integer */ public Integer getInteger(String key){ if(map.get(key)!=null){ if(map.get(key) instanceof Integer){ return (Integer)map.get(key); }else{ return null; } }else{ return 0; } } /** * <p> * 根據一個Key返回一個Map<String,String> * </p> * @param key * @return Map<String,String> */ @SuppressWarnings("unchecked") public Map<String,String> getMap(String key){ if(map.get(key)!=null){ if(map.get(key) instanceof Map){ return (Map<String,String>)map.get(key); }else{ return null; } }else{ return null; } } /** * <p> * 根據key返回BigDecimal * 如果為null,則返回 new BigDecimal(0) * </p> * @param key * @return BigDecimal */ public BigDecimal getBigDecimal(String key){ if(map.containsKey(key)){ if(map.get(key) instanceof BigDecimal){ return (BigDecimal)map.get(key); }else{ return new BigDecimal(0); } }else{ return new BigDecimal(0); } } }