//定義字符串 String str = "1,3,6,9,4,2,1,6"; //截取字符串 String[] strArr = str.split(","); //轉換long類型的數組 long[] strArrNum = (long[]) ConvertUtils.convert(strArr,long.class);
應用場景,如在設置后台管理權限角色時:
public Map<String, Object> saveRoleSet(String roleIds, Long userId) { Map<String, Object> resultMap = new HashMap<>(); roleService.delete(userId); //根據用戶id刪除所有用戶角色關聯實體 if (!StringUtils.isEmpty(roleIds)) { String idsStr[] = roleIds.split(","); long rIds[] = (long[])ConvertUtils.convert(idsStr,long.class); userRoleService.setRoles(userService.get(userId),rIds); }
傳入的roleIds時一組類似 "1,2,3,6,8"這樣的角色id.
而要設置管理員角色時需要分解為數組並進行數據庫的錄入.
上圖中,user_id為3的user對應的role_id有好幾個,2,3,5...
當設置時它們的排列也是一個字符串而非數組傳入,所以需要轉換.