![](/img/trans.png)
[英]How to convert the List<List<Object>> to List<List<String>> in Java?
[英]Java: How convert a List of Object to List of String?
我有一堂课叫Pessoa
Classe Pessoa {
Id Integer,
Nome String
}
在另一部分中,我列出了此类的对象:
List<Pessoa> pessoas = getPessoas();
上面的代码可以正常工作,但是我需要将其转换为List<String>
,其中它仅包含Pessoa
类的Nome
字段。
我怎样才能做到这一点?
您可以使用Java 8 Streams轻松实现:
List<String> names = pessoas.stream().map(Pessoa::getName).collect(Collectors.toList());
这是假设您的Pessoa
类具有返回String
的getName()
方法。
假设属性Nome是public,而“ pessoas”是您的Pessoa列表:
public List<String> getNomes(List<Pessoa> pessoasList) {
List<String> nomes = new ArrayList<>();
for(Pessoa pessoaObj : pessoasList){
nomes.add(pessoaObj.nome)
}
return nomes;
}
如果您不了解for循环,建议您对该循环语法进行一些搜索。 它非常适合列表。 简单容易。
编辑:正如Eran所说, 如果使用Java SDK 8或更高版本 ,使用Streams会更容易:
List<String> names = pessoas.stream().map(Pessoa::getName).collect(Collectors.toList());
或者,使用Kotlin:
val names = pessoas.map{it.name}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.