java - 映射 List<DropDown> 中的对象

标签 java mapping response hibernate-mapping

假设 getter()方法返回 List<Object> .假设 Object类有getFirstName() , getLastName() ,并尝试执行以下操作。

public List<<String,String>> getSomethingElse(@QueryParam("Id") Long Id) {
    getter(id).stream().map(p -> new PDropDown<Object>(?).collect(Collectors.toList()); 

我希望它只返回 firstNameLastName .我怎样才能映射对象,以便它只返回这两个?

最佳答案

请注意,getter() 方法必须返回特定类型,例如 List<Person>而不是 List<Object>否则你必须施放它。
这个想法是映射 firstNamelastNamePDropDown提供接受它们的构造函数的实例:

你可以这样做:

List<DropDown> result =  
    getter(id).stream()
              .map(p -> new PDropDown(p.getFirstName(), p.getLastName()))
              .collect(Collectors.toList()); 

如果getter()返回 List<Object> ,如果返回的元素之一不是 Person,您可能会抛出异常:

List<DropDown> result =  
    getter(id).stream()
              .map( o -> { if (o instanceof Person){
                             Person p = (Person) o;
                             return new PDropDown(p.getFirstName(), p.getLastName()); 
                          }
                          throw new IllegalArgumentException("o "+ o + " is not a Person");
                         })
              .collect(Collectors.toList()); 

关于java - 映射 List<DropDown> 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51770843/

相关文章:

java - List<Object> 到 Map<String, Map<String,List<Object>>>

java - 在java中访问父类中的子常量

java - 关于使用 Eclipse 和/或不使用 Maven 设置 Selenium 项目

java - 如何将二维字符串数组转换为一维字符串数组?

java - 设计 XACML API

java - 当为 null 时,Orika 不会在目的地上设置值

C# - IDataReader 到使用泛型的对象映射

http - 我在 chrome 开发者工具中看到响应正文,但无法在前端检索它

c# - C# 中的 403 响应主体的方法似乎不可用

javascript - Ajax 响应在检查器中正常,但在 jquery 中不起作用