package com.casic.missiles.util; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collectors; public class CommonUtil { // public static final SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static boolean isNumber(String str) { if (StrUtil.isNotEmpty(str)) { return str.matches("-?\\d+(\\.\\d+)?"); } return false; } public static final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); public static String formatDate(LocalDate date) { return date.format(dateFormatter); } // // public Date String paDate(LocalDate date) { // return date.format(dateFormatter); // } public static String DateFormat(String dataString) { String strymd = dataString.substring(0, 8); String str1 = strymd.substring(0, 4) + "-" + strymd.substring(4, 6) + "-" + strymd.substring(6, 8) + " "; String strhms = dataString.substring(8); String str2 = strhms.substring(0, 2) + ":" + strhms.substring(2, 4) + ":" + strhms.substring(4, 6); dataString = str1 + str2; return dataString; } public static String getString(Map<String, Object> objMap, String name) { return ObjectUtil.isNotNull(objMap.get(name)) ? objMap.get(name).toString() : ""; } public static <T> Predicate<T> distinctByProperty(Function<? super T, Object> keyExtractor) { Map<Object, Boolean> map = new ConcurrentHashMap<>(); return t -> map.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null; } public static String getRsrp(String rsrp) { if (isNumber(rsrp)) { if (Integer.valueOf(rsrp) > -60) { return "非常好"; } else if (Integer.valueOf(rsrp) > -70) { return "良好"; } else if (Integer.valueOf(rsrp) > -80) { return "一般"; } else if (Integer.valueOf(rsrp) > -90) { return "稍弱"; } else if (Integer.valueOf(rsrp) > -100) { return "较弱"; } else if (Integer.valueOf(rsrp) > -110) { return "差"; } else { return "很差"; } } return ""; } public static final String[] areaArr = { "01", "东城", "02", "西城", "03", "朝阳", "04", "丰台", "05", "石景山", "06", "海淀", "07", "门头沟", "08", "房山", "09", "通州", "10", "顺义", "11", "昌平", "12", "大兴", "13", "怀柔", "14", "平谷", "16", "延庆", "17", "亦庄", "18", "新疆", "15", "密云", "19", "海南"}; public static String getAreaCode(String areaName) { if (ObjectUtil.isNotEmpty(areaName)) { for (int i = 0; i < areaArr.length; i += 2) { if (areaName.contains(areaArr[i + 1])) { return areaArr[i]; } } } return ""; } public static JSONArray getJsonArr(JSONArray jsonArray,String fileName){ try { List<JSONObject> list = new ArrayList<>(); for (int i = 0; i < jsonArray.size(); i++) { list.add(jsonArray.getJSONObject(i)); } Collections.sort(list, new Comparator<JSONObject>() { @Override public int compare(JSONObject o1, JSONObject o2) { // 根据时间字段排序 return Long.valueOf(o1.getString(fileName)) - Long.valueOf(o2.getString(fileName))>=0? 1:-1; } }); return JSONArray.parseArray(JSON.toJSONString(list)); }catch (Exception e){ e.printStackTrace(); } return jsonArray; } public static void main(String[] args) { String ss = getAreaCode("东城"); System.out.println(ss); } }