判空
- 對於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 :漂亮的進度條(純屬裝逼)