List<String> collect = lists.stream().map(t -> t.getBusinessid()).collect(Collectors.toList());
时间: 2024-06-04 09:07:10 浏览: 161
这是一个 Java 8 中使用 Stream API 对一个 List 进行操作的示例代码。它的作用是从一个 List 中获取每个元素的 businessid 属性,并将它们收集到一个新的 List 中。
具体来说,假设我们有一个 List<SomeObject> 类型的 lists 变量,其中 SomeObject 类型的对象具有一个名为 businessid 的属性。我们可以通过 Stream API 的 map() 方法将每个元素转换为它的 businessid 属性,最后通过 collect() 方法将所有转换后的值收集到一个新的 List<String> 类型的 collect 变量中。
需要注意的是,这段代码中使用了 Java 8 中的 Lambda 表达式,它的作用是将一个 SomeObject 类型的对象 t 转换为它的 businessid 属性。在 Stream API 中,Lambda 表达式可以被用来简洁地表达一些操作,例如 map()、filter()、reduce() 等等。
相关问题
@RequestMapping("addMsgList.action") public String addMsgList( String businessid,String msg){ this.front(); if (this.getSession().getAttribute("userid") == null) { return "redirect:/index/preLogin.action"; } String userid = (String) this.getSession().getAttribute("userid"); MyMsgList list=new MyMsgList(); list.setUserid(userid); list.setBusinessid(businessid); List<MyMsgList> lists = msgService.listByUser(userid); if (lists.size()>0){ List<String> collect = lists.stream().map(t -> t.getBusinessid()).collect(Collectors.toList()); if (!collect.contains(businessid)){ //添加链接 msgService.addMsgList(list); } }else { //添加链接 msgService.addMsgList(list); } MyMsgs obj=new MyMsgs(); obj.setMsg(msg); obj.setBusinessid(businessid); obj.setUsersid(userid); return addMsg(obj); }详细解析该段代码
这段代码是一个基于Spring MVC框架的Java代码,主要实现的功能是添加一个用户的消息列表和消息内容。
@RequestMapping("addMsgList.action"):这是一个用于处理HTTP请求的注解,当请求的URL地址为“addMsgList.action”时,就会调用该方法。
public String addMsgList(String businessid, String msg):该方法接收两个参数,一个是业务ID(businessid),一个是消息内容(msg),并且返回一个字符串类型的结果。
this.front():该方法是当前控制器(Controller)的父类(BaseController)中的方法,用于初始化一些数据。
if (this.getSession().getAttribute("userid") == null):检查当前用户是否已经登录,如果没有登录则重定向到登录页面。
MyMsgList list=new MyMsgList():实例化一个MyMsgList对象。
list.setUserid(userid):设置该消息列表所属的用户ID。
list.setBusinessid(businessid):设置该消息列表所属的业务ID。
List<MyMsgList> lists = msgService.listByUser(userid):获取当前用户所有的消息列表。
if (lists.size() > 0):如果当前用户已经有过消息列表。
List<String> collect = lists.stream().map(t -> t.getBusinessid()).collect(Collectors.toList()):将所有的消息列表中的业务ID取出来,保存到一个列表(List)中。
if (!collect.contains(businessid)):如果当前用户没有该业务的消息列表,则添加一个新的消息列表。
msgService.addMsgList(list):将新的消息列表保存到数据库。
MyMsgs obj=new MyMsgs():实例化一个MyMsgs对象。
obj.setMsg(msg):设置该消息的内容。
obj.setBusinessid(businessid):设置该消息所属的业务ID。
obj.setUsersid(userid):设置该消息所属的用户ID。
return addMsg(obj):调用addMsg方法,将该消息保存到数据库。
总体来说,该段代码的作用是将用户发送的消息保存到数据库中,并且将该消息所属的业务ID添加到用户的消息列表中。
@RequestMapping("addMsgList.action") public String addMsgList( String businessid,String msg){ this.front(); if (this.getSession().getAttribute("userid") == null) { return "redirect:/index/preLogin.action"; } String userid = (String) this.getSession().getAttribute("userid"); MyMsgList list=new MyMsgList(); list.setUserid(userid); list.setBusinessid(businessid); List<MyMsgList> lists = msgService.listByUser(userid); if (lists.size()>0){ List<String> collect = lists.stream().map(t -> t.getBusinessid()).collect(Collectors.toList()); if (!collect.contains(businessid)){ //添加链接 msgService.addMsgList(list); } }else { //添加链接 msgService.addMsgList(list); } MyMsgs obj=new MyMsgs(); obj.setMsg(msg); obj.setBusinessid(businessid); obj.setUsersid(userid); return addMsg(obj); }解析上述代码并找出核心代码
上述代码是一个 Java Web 应用程序中的一个 Controller 的方法,它的核心代码如下:
```java
MyMsgList list=new MyMsgList();
list.setUserid(userid);
list.setBusinessid(businessid);
List<MyMsgList> lists = msgService.listByUser(userid);
if (lists.size()>0){
List<String> collect = lists.stream().map(t -> t.getBusinessid()).collect(Collectors.toList());
if (!collect.contains(businessid)){
//添加链接
msgService.addMsgList(list);
}
}else {
//添加链接
msgService.addMsgList(list);
}
MyMsgs obj=new MyMsgs();
obj.setMsg(msg);
obj.setBusinessid(businessid);
obj.setUsersid(userid);
return addMsg(obj);
```
这段代码的功能是将用户的消息添加到一个消息列表中。具体来说,它首先创建一个 `MyMsgList` 对象并设置它的用户 ID 和业务 ID,然后调用 `msgService` 的 `listByUser` 方法获取该用户已有的消息列表,如果已有的消息列表中不包含当前的业务 ID,就将当前的消息列表添加到数据库中。接下来,它创建一个 `MyMsgs` 对象并设置它的消息内容、业务 ID 和用户 ID,最后调用 `addMsg` 方法将该消息添加到数据库中。
阅读全文