stream().map(MyObject::getNumb),List<MyObject>中numb为long我想得到的是List<String>
时间: 2023-06-12 14:07:17 浏览: 97
你可以使用Java 8中的Stream API中的map()方法将List<MyObject>中的numb属性转换为List<String>,代码如下:
```java
List<MyObject> myList = new ArrayList<>();
// 添加元素到myList中
List<String> stringList = myList.stream()
.map(myObj -> String.valueOf(myObj.getNumb()))
.collect(Collectors.toList());
```
在上述代码中,我们使用了map()方法将MyObject对象中的numb属性转换为String类型,并使用Collectors.toList()方法将转换后的结果收集到一个新的List<String>中。
相关问题
<template> <!-- 公共导入组件 --> <upload-excel :on-success="success" /> </template> <script> import { importEmployee } from '@/api/employees' export default { data() { return { type: this.$route.query.type } }, methods: { // 声明一个函数 async success({ header, results }) { if (this.type === 'user') { // 中文转化为英文 const userRelations = { '入职日期': 'timeOfEntry', '手机号': 'mobile', '姓名': 'username', '转正日期': 'correctionTime', '工号': 'workNumber' } console.log(header, results) const arr = [] // 遍历所有的数组 results.forEach(item => { // 需要将每一个条数据里面的中文都换成英文 const userInfo = {} Object.keys(item).forEach(key => { // key是当前的中文名 找到对应的英文名 // `new Date()` 可以有参数,字符串日期转换成时间格式,如果没有参数获取的是当前的时间对象 if (userRelations[key] === 'timeOfEntry' || userRelations[key] === 'correctionTime') { userInfo[userRelations[key]] = new Date(this.formatDate(item[key], '/')) // 只有这样, 才能入库 } else { userInfo[userRelations[key]] = item[key] } }) // 最终userInfo变成了全是英文 arr.push(userInfo) }) console.log(arr) await importEmployee(arr) this.$message.success('导入成功') } this.$router.back() // 回到上一页 }, // 处理Excel时间 formatDate(numb, format) { const time = new Date((numb - 1) * 24 * 3600000 + 1) time.setYear(time.getFullYear() - 70) const year = time.getFullYear() + '' const month = time.getMonth() + 1 + '' const date = time.getDate() - 1 + '' if (format && format.length === 1) { return year + format + month + format + date } return year + (month < 10 ? '0' + month : month) + (date < 10 ? '0' + date : date) } } } </script> <style> </style>
这是一个使用了element-ui的upload组件,导入了一个名为upload-excel的自定义组件,该组件在上传成功后会调用success方法,将上传的数据进行处理后再调用importEmployee方法进行导入操作。在处理数据的过程中,使用了一个函数formatDate来处理Excel中的时间数据,并且将中文字段名转换为对应的英文字段名,最终将处理后的数据存储在一个数组中,传递给importEmployee方法进行导入操作。
解释这段代码 def _init_agents(self): agents = [] model_path = os.path.join(self.args.save_dir, self.args.scenario_name) #for i in range(self.args.n_agents): agent = Agent(self.args) if self.args.evaluate: numb = self.args.numb m_path = os.path.join(model_path, 'agent_%d') agent.load(m_path + '/' + numb + '_actor_params.pkl') #agents.append(agent) return agent
这段代码是一个类的方法 `_init_agents`,它的作用是初始化一个代理(agent)的列表。代码中首先创建了一个空的列表 `agents`,然后使用 `os.path.join` 函数构造了一个模型路径 `model_path`。在这个方法中,只有当 `self.args.evaluate` 为 `True` 时,才会加载一个训练好的模型参数,并用这个参数初始化代理对象 `agent`,然后返回一个代理对象。如果 `self.args.evaluate` 为 `False`,则会返回一个空的代理列表。根据代码注释,这段代码还有一个被注释掉的循环,可能是用来初始化多个代理的。
阅读全文