网站首页 > 技术文章 正文
0.前言
- 用到的依赖
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- hutool -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.15</version>
</dependency>
<!-- fastjson2 -->
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.21</version>
</dependency>
- 实体类
/**
* @author 知否技术
* @description
* @date 2024-08-10 17:39
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class User {
private Integer id;
private String name;
private Integer age;
}
- 名词解读
- char : 字符
- String : 字符串
- Object : 对象
1.String 相关
1.1 String 转 char
String strChar = "知否技术";
char[] charArr = strChar.toCharArray();
log.info("charArr: {}", charArr);
1.2 String 转数组String str = "知否,技术";
String[] strArray = str.split(",");
for (String strElement : strArray) {
log.info("strElement: {}", strElement);
}
2.数组相关
2.1 数组转 String
String[] arr = { "张三", "李四", "知否君" };
1.hutool
import cn.hutool.core.util.ArrayUtil;
String[] arr = { "张三", "李四", "知否君" };
String str = ArrayUtil.toString(arr);
log.info("str: {}", str);
2.Arrays 和 Stream
import java.util.Arrays;
import java.util.stream.Collectors;
String str = Arrays.stream(arr).collect(Collectors.joining(","));
log.info("str: {}", str);
2.2 数组转 List
String[] array = {"亚瑟","李白","后羿"};
1.Arrays
List<String> list = Arrays.asList(array);
log.info("list: {}", list);
注:通过该方式转成 List 之后,不能进行增删操作,只能进行查改操作,否则会抛异常
以下两种方式可以对转换之后的 List 进行增删改查操作:
2.ArrayList的构造器进行转
ArrayList<String> list = new ArrayList<>(Arrays.asList(array));
3.Collections.addAll()
List<String> list = new ArrayList<>();
Collections.addAll(list, array);
2.3 数组转 Set
String[] arr = new String[]{"A", "B", "C", "C"};
Set<String> set = new HashSet<>(Arrays.asList(arr));
log.info("set: {}", set);
3.List相关3.1 List 转数组List<String> list = Arrays.asList("张三","李四");
String[] stringArray = list.toArray(new String[0]);
3.2 List 转 StringList<String> list = Arrays.asList("张三","李四");
String listToStr = String.join(",", list);
log.info("listToStr: {}", listToStr);
3.3 List 转 Map
1.Stream 流,key 相同,后面的覆盖前面的
List<User> users = Arrays.asList(new User(1, "张三", 18),new User(1, "张三", 99), new User(2, "李四", 20));
Map<Integer, User> map = users.stream().collect(Collectors.toMap(User::getId, Function.identity(),(key1, key2) -> key2));// key 相同,后面的覆盖前面的
log.info("map: {}", map);
2.Stream 流,key 相同,指定对象的属性作为返回 map的 key 和 value
List<User> users = Arrays.asList(new User(1, "张三", 18),new User(1, "张三", 99), new User(2, "李四", 20));
Map<String, Integer> map = users.stream().collect(Collectors.toMap(User::getName,User::getAge,(key1, key2) -> key2));
log.info("map: {}", map);
3.Stream 流,key 相同,根据对象属性分组
List<User> users = Arrays.asList(new User(1, "张三", 18),new User(1, "张三", 99), new User(2, "李四", 20));
Map<Integer, List<User>> map = users.stream().collect(Collectors.groupingBy(User::getId)); // 根据什么分组
log.info("map: {}", map);
3.4 List 转 Set
List<String> list = Arrays.asList("张三","李四");
1.使用 HashSet 构造函数
Set<String> set = new HashSet<>(list);
2.使用 Set 的 addAll 方法
Set<String> set = new HashSet<>();
set.addAll(list);
3.stream 流
Set<String> set = list.stream().collect(Collectors.toSet());
3.5 List 转 JSONArray
List<User> users = Arrays.asList(new User(1, "张三", 18), new User(2, "李四", 20));
1.hutool
JSONArray jsonArray = JSONUtil.parseArray(users);
2.fastjson
JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(users));
4.Set 相关
Set<String> neSet = new HashSet();
neSet.add("张三");
neSet.add("李四");
4.1 Set 转 List
1.构造函数
List<String> result = new ArrayList<>(set);
2.stream 流
List<String> list = set.stream().collect(Collectors.toList());
4.2 Set 转数组
1.toArray
String[] strArray = set.toArray(new String[set.size()]);
2.stream 流
String[] strArray = set.stream().toArray(java[]::new);
5.Object 相关
5.1 Object 转 JSONObject
User obj = new User(1, "张三", 18);
1.hutool
JSONObject jsonObject = JSONUtil.parseObj(obj);
log.info("map:{}",jsonObject);
2.fastjson
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(obj));
log.info("map:{}",jsonObject);
5.2 Oject 转 Map
hutool
Map<String, Object> map = BeanUtil.beanToMap(new User(1, "张三", 18));
log.info("map:{}",map);
6.Map 相关
Map<String, Object> map = new HashMap<>();
map.put("name","张三");
map.put("age",18);
6.1 Map 转 JSONObject
1.hutool
JSONObject jsonObject = JSONUtil.toBean(JSONUtil.toJsonStr(map), JSONObject.class);
log.info("jsonObject:{}",jsonObject);
2.fastjson
JSONObject jsonObject = new JSONObject(map);
log.info("map:{}",jsonObject);
6.2 Map 转 Object
hutool
User user = JSONUtil.toBean(JSONUtil.toJsonStr(map), User.class);
log.info("user:{}",user);
6.3 Map 转 JSONString
1.hutool
String mapToStr = JSONUtil.toJsonStr(map);
log.info("mapToStr:{}",mapToStr);
2.fastjson
String mapToStr = JSONObject.toJSONString(map);
log.info("mapToStr:{}",mapToStr);
7.JSON 相关
7.1 JSON 字符串转 JSONObject
1.hutool
String jsonStr = "{\"id\": 1, \"name\": \"知否君\"}";
JSONObject jsonObject = JSONUtil.parseObj(jsonStr);
log.info("jsonObject:{}",jsonObject);
2.fastjson
String jsonStr = "{\"id\": 1, \"name\": \"知否君\"}";
JSONObject jsonObject = JSON.parseObject(jsonStr);
log.info("jsonObject:{}",jsonObject);
7.2 JSON 字符串转 JSONArray
1.hutool
String jsonStr = "[{\"id\": 1, \"name\": \"知否君\"}, {\"id\": 2, \"name\": \"李白\"}]";
JSONArray jsonArray = JSONUtil.parseArray(jsonStr);
log.info("jsonArray:{}",jsonArray);
2.fastjson
String jsonStr = "[{\"id\": 1, \"name\": \"知否君\"}, {\"id\": 2, \"name\": \"李白\"}]";
JSONArray jsonArray = JSON.parseArray(jsonStr);
log.info("jsonArray:{}",jsonArray);
7.3 JSON 字符串转 Object
1.hutool
String jsonStr = "{\"id\": 1, \"name\": \"知否君\"}";
User user = JSONUtil.toBean(jsonStr, User.class);
log.info("user:{}",user);
2.fastjson
String jsonStr = "{\"id\": 1, \"name\": \"知否君\"}";
User user = JSON.parseObject(jsonStr, User.class);
log.info("user:{}",user);
7.4 JSON 转 Map
1.hutool
String jsonStr = "{\"id\": 1, \"name\": \"知否君\"}";
Map map = JSONUtil.toBean(jsonStr, Map.class);
log.info("map:{}",map);
2.fastjson
String jsonStr = "{\"id\": 1, \"name\": \"知否君\"}";
Map map = JSON.parseObject(jsonStr, Map.class);
log.info("map:{}",map);
7.5 JSON 字符串转 List
1.hutool
String jsonStr = "[{\"id\": 1, \"name\": \"知否君\"}, {\"id\": 2, \"name\": \"李白\"}]";
List<User> list = JSONUtil.toList(jsonStr, User.class);
log.info("list:{}", list);
2.fastjson
String jsonStr = "[{\"id\": 1, \"name\": \"知否君\"}, {\"id\": 2, \"name\": \"李白\"}]";
List<User> list = JSON.parseArray(jsonStr, User.class);
log.info("list:{}", list);
java8
编程7
java · 目录
#java
上一篇公司项目配置了 AJ-Captcha验证码,竟然提升用户100%验证率!下一篇MySQL是怎样使用的,超全面的总结!
- 上一篇: Java8两个List集合取交集、并集、差集、去重并集
- 下一篇: C# String字符串常见操作
猜你喜欢
- 2025-01-13 Java 中 List 分片的 5 种方法
- 2025-01-13 你见过哪些实用到爆的 Java 代码技巧?
- 2025-01-13 手把手教你搭建一个基于Java的分布式爬虫系统「转」
- 2025-01-13 List的扩容机制,你真的明白吗?
- 2025-01-13 C# 基础知识系列- 3 集合数组
- 2025-01-13 去除 List 中的重复元素,你知道几种实现方法?
- 2025-01-13 C#中的List可以存储哪些类型的数据?
- 2025-01-13 java8对List集合根据某一字段进行分组
- 2025-01-13 PCHMI5.5二次开发文档(更新)
- 2025-01-13 Qt QString字符串分割、截取的3种方法
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)