判空
- 对于list和map使用CollectionUtils.isEmpty()判空(null和size=0)
- 对于对象或数组使用ObjectUtils.isEmpty()判定,可以尝试使用Optional.ofNullable()
- 对于数组使用ArrayUtils.isEmpty()判空(null和length=0)
- 对于字符串使用 StringUtils.isBlank()判空(null和空字符串)
工具类
- 使用hutool可以方便的进行文件类型的判断、唯一id(uuid,Snowflake)的生成、二维码生成、图片加水印、BASE64编码解码、图片验证码等操作
集合
- 使用Arrays.asList()返回的list为数组的内部list,只允许遍历不允许增删,可以使用Stream流转换为list
- Collection和map对于仅遍历可以使用增强for循环和,但如果有删除为避免错误必须使用迭代器
- foreach遍历不允许改变变量的地址,java的参数是值传递,修改了形参的地址并不影响原来的参数,故即使你修改了值也不会同步到原变量中,故操作的变量都显示或者隐私的定义为final
JSON
fastjson
parseArray(String text, Class<T> clazz)
解析List
parseObject(String text, Class<T> clazz)
解析Object
## JSON对于null、空白字符串、“null”会返回null
if (text == null) {
return null;
} else {
DefaultJSONParser parser = new DefaultJSONParser(text, ParserConfig.getGlobalInstance());
JSONLexer lexer = parser.lexer;
int token = lexer.token();
ArrayList list;
if (token == 8) {
lexer.nextToken(); // nextToken() => ...if ("null".equalsIgnoreCase(ident)) this.token = 8;
list = null;
}
}
String toJSONString(Object object)
将对象转为String
toJSONBytes(Object object, SerializerFeature... features)
将对象转为byte[]
@JSONField(serialize = false)
转String忽略
jackson
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
设置Date到前台的格式
@JsonIgnore
SpringMVC不会向前台传递该字段
IDEA
插件
- Lombok : 快速生成getter、setter等
- Alibaba Java Coding Guidelines :阿里规约扫描
- Rainbow Brackets :彩色括号
- HighlightBracketPair :高亮提示(未使用)
- MyBatisX :mabatisPlus提供的xml和mapper转换的插件,小鸟图标
- CamelCase :大小写、驼峰、下划线、中划线转换插件
- 使用shift+Alt+u进行转换,
- 可以在Editor中设置CamelCase的转换,一般只保留下划线和驼峰两种
- String Manipulation :字符串工具(未使用)
- RestfulToolkit http :Restful请求工具
- 打开idea,在右侧边栏会有一个标签(RestServices),打开可以看到里面是url路径
- ctrl+\或者ctrl+alt+n会检索路径
- Ctrl + Enter格式化json
- 没有记忆功能,也不能加token,只是查找请求路径使用
- easycode :代码生成工具(个人觉得很好用,常用于生成实体类)
- 支持自定义模板
- 支持添加自定义列,不影响数据库
- 支持多表同时生成
- 支持自定义类型映射
- 支持配置导入导出
- 支持动态调试
- 支持自定义属性
- Power Mode 11 :打字特效(纯属装逼)
- Nyan Progress Bar :漂亮的进度条(纯属装逼)