常见方法1

文章介绍了Java中Collections.emptyList()方法,它返回一个不可变的空列表,常用于避免null检查和减少内存消耗。同时,文章提到了Jackson库的ObjectMapper类,用于JSON与Java对象之间的转换,包括反序列化和序列化操作。
摘要由CSDN通过智能技术生成

在这里插入代码片@TOC

1、Collections.emptyList()

1、Collections.emptyList() 是 Java 中的一个静态方法,返回一个不可变的空列表。即使调用 add() 等修改列表内容的方法,它也会抛出 UnsupportedOperationException 异常。

该方法返回的是 Collections 类中的私有静态类 EmptyList 的实例,因此不需要创建新对象,可以直接使用,这样可以减少内存消耗。

以下是一个示例用法:

List<String> emptyList = Collections.emptyList();
System.out.println(emptyList); // 输出:[]

在这个例子中,我们创建了一个空列表 emptyList,并将其输出。由于该列表为空,因此输出为 “[]”。

需要注意的是,由于 Collections.emptyList() 返回的列表是不可变的,因此不能对其进行添加、删除或修改等操作。如果需要可变的空列表,可以使用 new ArrayList<>() 创建一个空的可变列表。

1.1 好处

返回空列表而不是 null 通常被认为是一种更好的实践,因为它可以避免在代码中出现许多繁琐的 null 检查。当使用
Collections.emptyList() 返回空列表时,我们可以放心地对其进行操作,无需担心可能出现的
NullPointerException。

此外,由于 Collections.emptyList()
方法返回的是一个单例对象,多个调用该方法的地方都可以共享相同的实例,从而减少内存消耗。

还有一个原因是,在某些情况下,方法可能需要返回不可变的集合,例如 API 中的某些公共方法。如果返回 null,将会增加客户端代码中检查
null 的负担,这使得代码更加脆弱和难以维护。而使用空集合,代码可以更容易地保持一致,并且更不容易出错。

因此,虽然在某些情况下返回 null 可能是合适的,但在其他情况下,返回空集合可能会更好地满足代码的需求。

1.2 前端展示结果

如果使用 Collections.emptyList() 返回的空列表作为前端展示的结果,那么在前端展示的结果将是一个空数组 []。

例如,在 JavaScript 中,可以使用 JSON.stringify() 方法将返回的空列表转换为字符串,并将其显示在页面上:

const emptyList = []; // 这里假设已经通过 AJAX 请求获取了 emptyList 数据
const emptyListJson = JSON.stringify(emptyList);
console.log(emptyListJson); // 输出:[]

当使用 JSON.stringify() 将空列表转换为字符串时,它会被转换为空数组 []。在前端展示时,您可以根据需要格式化空数组的外观并显示空消息,告诉用户没有数据可用。

需要注意的是,前端展示的结果可能因具体情况而异,因为它取决于所使用的技术和展示方式。

2、new ObjectMapper()

ObjectMapper是Jackson库中的一个类,用于将JSON字符串转换(反序列化)为Java对象或将Java对象序列化为JSON字符串。这个类可以创建新的映射器实例。

在上面的示例代码中,我们使用以下代码创建了一个新的ObjectMapper实例:

ObjectMapper objectMapper = new ObjectMapper();

使用ObjectMapper时,您通常需要调用其方法来将JSON字符串转换为Java对象或反之。例如,要将JSON字符串转换为Java对象,您可以使用以下代码:

String json = "{\"name\": \"John Doe\", \"age\": 30}";
ObjectMapper objectMapper = new ObjectMapper();
Person person = objectMapper.readValue(json, Person.class);

在这个例子中,我们首先创建了一个包含JSON字符串的变量。 然后,我们使用ObjectMapper创建了一个新实例。 最后,我们使用readValue方法将JSON字符串转换为一个Java对象并将其赋值给一个名为person的变量。

除了将JSON字符串转换为Java对象之外,您还可以使用ObjectMapper将Java对象序列化为JSON字符串。 下面是一个示例:

Person person = new Person();
person.setName("John Doe");
person.setAge(30);
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(person);

在这个例子中,我们首先创建了一个Person对象并设置了它的属性。 然后,我们使用ObjectMapper创建了一个新实例。 最后,我们使用writeValueAsString方法将Person对象序列化为JSON字符串,并将其赋值给一个名为json的变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值