Java 小抄整理

人是越来越来懒惰了,苦于每次Copy 查找的劳苦,特地整理一份小抄文档(积累式改造),保证两点:第一:高效,第二:简单。

  • curl POST请求:
curl -X POST -H "Content-type:application/json" -d '{"storeVo":{"storeId":"129009"}}' http://127.7.7.7:8080/***/****

  • 如果需要去除类中类型为String 的属性值前后的空格,可以用反射弄一个去空格工具类
/**
 * @Author DJ
 * @Date 2018/11/19 10:03 AM
 * @PackageName 
 */
public class BeanTrimUtils {
    private static final Logger logger = LoggerFactory.getLogger(FileUtils.class);

    /**
     * 循环去空 类中属性值(只去前后空格)
     * @param model
     * @throws Exception
     */
    public static void trimBean(Object model){
        String beanName = "####BeanTrimUtils.trimBean ";
        Class clazz = model.getClass();
        Field[] fields = clazz.getDeclaredFields();
        try {
            for (Field field : fields) {
                if ("class java.lang.String".equals(field.getGenericType().toString())) {
                    Method getMethod = clazz.getMethod("get" + getMethodName(field.getName()));
                    String value = (String) getMethod.invoke(model);
                    if (StringUtils.isNotBlank(value)) {
                        // /(^\s*)|(\s*$)/g
                        value = value.replaceAll("(^\\s*)|(\\s*$)", "");
                        field.setAccessible(true);
                        field.set(model, value);
                    }
                }
            }
        } catch (Exception e) {
            logger.error(beanName + "error {}", e);
        }
    }

    private static String getMethodName(String fildeName) throws Exception{
        byte[] items = fildeName.getBytes();
        items[0] = (byte) ((char) items[0] - 'a' + 'A');
        return new String(items);
    }

}
  • 如果服务端解决过跨域问题,但是前端还是报403 forbidden 之类的错误,可能是有些AJax预处理问题,可以在过滤器中加上下面这段代码
if (httpServletRequest.getMethod().equalsIgnoreCase("OPTIONS")) {
            ((HttpServletResponse) response).setStatus(200);
            return;
        }

  • 取List< T > ,T 中的一个属性为新List
List code = list.stream().map(T::getCode).distinct().collect(Collectors.toList());
  • jdk1.8 List 转Map
Map appleMap = appleList.stream().collect(Collectors.toMap(Apple::getId, a -> a,(k1,k2)->k1));

你可能感兴趣的:(java)