Java判斷Object物件是否為陣列,Java判斷Object物件是否為集合,Java判斷陣列是否包含某個值
阿新 • • 發佈:2021-07-02
Java判斷Object物件是否為陣列,
Java判斷Object物件是否為集合,
Java判斷陣列是否包含某個值
Java獲取Map物件指定的key值
================================
©Copyright 蕃薯耀2021-07-02
https://www.cnblogs.com/fanshuyao/
一、Java判斷Object物件是否為陣列
public static String valueCast(Object value) { String valueString = ""; if(Arrays.isArray(value)) {//陣列 //判斷是否為陣列(建議優先使用Arrays): //1:Arrays.isArray(value) //2:value.getClass().isArray() valueString = JsonUtil.obj2String(value); }else { valueString = String.valueOf(value); } returnvalueString; }
1、使用Arrays工具類(建議優先使用)
Arrays.isArray(value)
2、通過類反射
value.getClass().isArray()
二、Java判斷Object物件是否為集合
1、判斷是否為集合:object instanceof Collection
public static String valueCast(Object value) { String valueString = ""; if(value instanceofCollection) {//判斷是否為集合 valueString = JsonUtil.obj2String(value); }else { valueString = String.valueOf(value); } return valueString; }
三、Java判斷陣列是否包含某個值
1、使用ArrayUtils工具類(優化使用)
import org.apache.commons.lang3.ArrayUtils;
ArrayUtils.contains(keys, key)
實際邏輯:
public static int indexOf(final Object[] array, final Object objectToFind, int startIndex) { if (array == null) { return INDEX_NOT_FOUND; } if (startIndex < 0) { startIndex = 0; } if (objectToFind == null) { for (int i = startIndex; i < array.length; i++) { if (array[i] == null) { return i; } } } else { for (int i = startIndex; i < array.length; i++) { if (objectToFind.equals(array[i])) { return i; } } } return INDEX_NOT_FOUND; }
2、轉換成List集合(比較慢)
Arrays.asList(arr).contains(targetValue);
3、自己寫迴圈判斷
ArrayUtils.contains其實就是迴圈
四、Java獲取Map物件指定的key值
1、根據指定的keys獲取Map中的屬性
/** * 根據指定的keys獲取Map中的屬性 * @param map * @param keys * @return */ @SuppressWarnings({ "rawtypes", "unchecked" }) public static Map<String, Object> getMapByExistKeys(Map map, String[] keys) { if(map == null || map.isEmpty()) { return null; } if(keys == null || keys.length < 1) { return null; } Map<String, Object> resultMap = new LinkedHashMap<String, Object>(keys.length); Set<String> set = map.keySet(); for (String key : set) { if(ArrayUtils.contains(keys, key)) { resultMap.put(key, map.get(key)); } } return resultMap; }
2、排除指定的keys獲取Map中的其它屬性
/** * 排除指定的keys獲取Map中的其它屬性 * @param map * @param excludeKeys 排除的keys * @return */ @SuppressWarnings({ "rawtypes", "unchecked" }) public static Map<String, Object> getMapByExcludeKeys(Map map, String[] excludeKeys) { if(map == null || map.isEmpty()) { return null; } Map<String, Object> resultMap = new LinkedHashMap<String, Object>(); Set<String> set = map.keySet(); for (String key : set) { if(ArrayUtils.contains(excludeKeys, key)) { continue; } resultMap.put(key, map.get(key)); } return resultMap; }
(時間寶貴,分享不易,捐贈回饋,^_^)
================================
©Copyright 蕃薯耀2021-07-02
https://www.cnblogs.com/fanshuyao/