如何从java <list>获取特定对象值并转换为String Array

时间:2015-09-17 13:02:01

标签: java arrays arraylist

我需要你的助手并帮助在Java中获取对象的值,然后将输出转换为String Array,以便将其传递给过程。这是我的Java类:

public class PendingRequests  {

    private String requestDate; //Getter & Setter
    private String requestNo; //Getter & Setter
    private String employeeName; //Getter & Setter

}

在bean中我定义了一个名为“selectedRequests”的List:

private List<PendingRequests> selectedRequests;

selectedRequests有值,我需要从中获取requestNo的值,然后将其转换为String Array。通过我的尝试,我只能使用以下代码在控制台中打印它们:

for(Object obj : selectedRequests){
    System.out.println("Obj = "+((PendingRequests)obj).getRequestNo());

但这是正确的方法,我接下来应该做什么?

5 个答案:

答案 0 :(得分:9)

self

这是同一件事的Java 8版本:

String[] requestNos = new String[selectedRequests.size()];

for (int i = 0; i < selectedRequests.size(); i++) {
    requestNos[i] = selectedRequests.get(i).getRequestNo();
}

答案 1 :(得分:2)

String[] stringArray = new String[selectedRequests.size()];
int i =0;
for(PendingRequests request: selectedRequests){
   stringArray[i] = request.getRequestNo();
   i++;
}

答案 2 :(得分:2)

在Java 8中:

selectedRequests.stream()
                .map(PendingRequests::getRequestNo)
                .forEach(System.out::println)

答案 3 :(得分:0)

尝试:

INSTALLS

原谅我它会抛出任何错误,我只是在飞行中写下来。并且不要忘记添加空检查,因为如果某些内容为null,此代码将抛出NullPointerException。

答案 4 :(得分:0)

Java 8单行

String[] requestNos = selectedRequests.stream()
                      .map(
                          pr -> pr.getRequestNo()
                      )
                      .collect(Collectors.toList())
                      .toArray(new String[]{});