map(x->x.toString())
时间: 2024-04-24 16:26:55 浏览: 21
引用\[2\]中的代码片段展示了如何使用map()方法将元素映射为对应的结果。在这个例子中,一个整数列表被映射为它们的平方数。所以,如果你使用map(x->x.toString()),它将把列表中的每个元素转换为字符串类型。
#### 引用[.reference_title]
- *1* *2* *3* [java8 .stream().map().collect() 的用法](https://blog.csdn.net/m0_54866636/article/details/123636376)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关问题
for (BdFindOutPlanGroupDTO comDTO : result) { Result<FeignOrgDTO> feignOrgDTOResult = remoteIpmpOrgService.getInfoById(comDTO.getCompanyId().toString()); if (StringUtils.isNotNull(feignOrgDTOResult.getData())) { if (StringUtils.isNotNull(feignOrgDTOResult.getData())) { comDTO.setCompanyName(feignOrgDTOResult.getData().getOrgName()); } else { comDTO.setCompanyName(comDTO.getCompanyId().toString()); } } else { comDTO.setCompanyName(comDTO.getCompanyId().toString()); } BdFindOutPlanGroupDtlQueryDTO findOutPlanGroupDtlQueryDTO = new BdFindOutPlanGroupDtlQueryDTO(); findOutPlanGroupDtlQueryDTO.setFindOutPlanGroupId(Long.parseLong(comDTO.getFindOutPlanGroupId())); List<BdFindOutPlanGroupDtlDO> bdFindOutPlanGroupDtlDOS = findOutPlanGroupDtlMapper.selectList(findOutPlanGroupDtlQueryDTO); List<BdFindOutPlanGroupDtlDTO> dtoList = BeanUtils.copyToList(bdFindOutPlanGroupDtlDOS, BdFindOutPlanGroupDtlDTO.class); //获取项目id与项目名称对应关系 if (StringUtils.isNotEmpty(dtoList)) { List<Long> projectIdList = dtoList.stream().map(BdFindOutPlanGroupDtlDTO::getProjectId).collect(Collectors.toList()); ApiMdProjectDTO apiMdProjectDTO = new ApiMdProjectDTO(); apiMdProjectDTO.setProjectIds(projectIdList.stream().map(x -> x + "").collect(Collectors.toList())); Result<List<ApiMdProjectDTO>> projectInfoList = remoteProjecctService.listProject(apiMdProjectDTO); Map<String, String> stringStringMap = CollectionUtils.toMap( projectInfoList.getData(), ApiMdProjectDTO::getProjectId, ApiMdProjectDTO::getProjectName ); //将从其他表获取的数值做填充 dtoList.forEach(d -> { //如果md_project表未查询到名称,则显示id d.setProjectName(Optional.ofNullable(stringStringMap.get(d.getProjectId().toString())).orElse(d.getProjectId().toString())); }); } comDTO.setFindOutPlanGroupDtlDTOS(dtoList); } 代码优化
以下是对代码的优化建议:
1. 建议将远程调用服务的代码封装到一个方法中,使得代码更加简洁和易于维护。
2. 在进行远程调用之前,可以先判断需要的参数是否为空,以避免不必要的远程调用。
3. 在获取数据后,可以使用Java 8的流式编程和Lambda表达式来简化代码,例如使用stream()、map()、collect()等方法。
4. 建议使用Java 8的Optional类来避免空指针异常的出现,使代码更加健壮。
综上所述,代码可以进行如下优化:
```
for (BdFindOutPlanGroupDTO comDTO : result) {
// 获取公司名称
String companyName = comDTO.getCompanyId().toString();
Result<FeignOrgDTO> feignOrgDTOResult = getOrgInfoById(comDTO.getCompanyId().toString());
if (feignOrgDTOResult.isSuccess() && StringUtils.isNotNull(feignOrgDTOResult.getData())) {
companyName = feignOrgDTOResult.getData().getOrgName();
}
comDTO.setCompanyName(companyName);
// 获取项目信息
BdFindOutPlanGroupDtlQueryDTO findOutPlanGroupDtlQueryDTO = new BdFindOutPlanGroupDtlQueryDTO();
findOutPlanGroupDtlQueryDTO.setFindOutPlanGroupId(Long.parseLong(comDTO.getFindOutPlanGroupId()));
List<BdFindOutPlanGroupDtlDO> bdFindOutPlanGroupDtlDOS = findOutPlanGroupDtlMapper.selectList(findOutPlanGroupDtlQueryDTO);
List<BdFindOutPlanGroupDtlDTO> dtoList = BeanUtils.copyToList(bdFindOutPlanGroupDtlDOS, BdFindOutPlanGroupDtlDTO.class);
if (StringUtils.isNotEmpty(dtoList)) {
// 获取项目id与项目名称对应关系
List<Long> projectIdList = dtoList.stream().map(BdFindOutPlanGroupDtlDTO::getProjectId).collect(Collectors.toList());
Result<List<ApiMdProjectDTO>> projectInfoList = getProjectInfoList(projectIdList);
if (projectInfoList.isSuccess()) {
Map<String, String> stringStringMap = projectInfoList.getData().stream().collect(Collectors.toMap(ApiMdProjectDTO::getProjectId, ApiMdProjectDTO::getProjectName));
// 填充数据
dtoList.forEach(d -> {
d.setProjectName(Optional.ofNullable(stringStringMap.get(d.getProjectId().toString())).orElse(d.getProjectId().toString()));
});
}
}
comDTO.setFindOutPlanGroupDtlDTOS(dtoList);
}
// 获取组织信息
private Result<FeignOrgDTO> getOrgInfoById(String companyId) {
if (StringUtils.isEmpty(companyId)) {
return Result.fail("公司ID不能为空");
}
return remoteIpmpOrgService.getInfoById(companyId);
}
// 获取项目信息列表
private Result<List<ApiMdProjectDTO>> getProjectInfoList(List<Long> projectIdList) {
if (CollectionUtils.isEmpty(projectIdList)) {
return Result.fail("项目ID列表不能为空");
}
ApiMdProjectDTO apiMdProjectDTO = new ApiMdProjectDTO();
apiMdProjectDTO.setProjectIds(projectIdList.stream().map(x -> x + "").collect(Collectors.toList()));
return remoteProjecctService.listProject(apiMdProjectDTO);
}
```
<!doctype html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"> <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" /> <style> html, body, #container { width: 100%; height: 100%; } #map-zoom, #map-center { color: #0288d1; } </style> <title>地图级别与中心点</title> </head> <body> <div id="container"></div> <div class="info"> <h4>获取地图级别与中心点坐标</h4> <p>当前级别:<span id="map-zoom">11</span></p> <p>当前中心点:<span id="map-center">121.498586,31.239637</span></p> </div> <script src="https://webapi.amap.com/maps?v=2.0&key=您申请的key值"></script> <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script> <script> //初始化地图 var map = new AMap.Map('container', { zoom: 11, //初始地图级别 center: [121.498586, 31.239637], //初始地图中心点 }); //显示地图层级与中心点信息 function logMapinfo(){ var zoom = map.getZoom(); //获取当前地图级别 var center = map.getCenter(); //获取当前地图中心位置 document.querySelector("#map-zoom").innerText = zoom; document.querySelector("#map-center").innerText = center.toString(); }; //绑定地图移动与缩放事件 map.on('moveend', logMapinfo); map.on('zoomend', logMapinfo); </script> </body> </html> 转成vue2语法
可以将上述代码放在Vue组件的template和script标签中,如下所示:
```
<template>
<div>
<div id="container"></div>
<div class="info">
<h4>获取地图级别与中心点坐标</h4>
<p>当前级别:<span id="map-zoom">{{ zoom }}</span></p>
<p>当前中心点:<span id="map-center">{{ center }}</span></p>
</div>
</div>
</template>
<script>
import AMap from 'AMap';
import 'AMap/dist/AMap.css';
export default {
mounted() {
AMap.loadPlugin('AMap.Map', () => {
const map = new AMap.Map('container', {
zoom: 11,
center: [121.498586, 31.239637],
});
function logMapinfo() {
const zoom = map.getZoom();
const center = map.getCenter();
this.zoom = zoom;
this.center = center.toString();
}
this.zoom = map.getZoom();
this.center = map.getCenter().toString();
map.on('moveend', logMapinfo.bind(this));
map.on('zoomend', logMapinfo.bind(this));
});
},
data() {
return {
zoom: '',
center: '',
};
},
};
</script>
<style>
html, body, #container {
width: 100%;
height: 100%;
}
#map-zoom, #map-center {
color: #0288d1;
}
</style>
```
在Vue组件中,首先通过import引入AMap,然后在mounted()方法中使用AMap.loadPlugin()加载地图插件。然后在回调函数中创建地图实例,并将其显示在页面中。接着定义一个函数logMapinfo()来获取地图的层级和中心点位置,并将其绑定到地图的移动和缩放事件上。同时,在Vue组件中定义了两个数据zoom和center,用来保存当前地图的层级和中心点位置,并将它们显示在页面上。注意,在logMapinfo()函数中,由于this指向了地图实例,需要使用bind()方法将this绑定到Vue实例上,以便在函数中访问到Vue组件的数据。最后,通过style标签设置页面样式。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)