如何从Java中的Object []获取元素?

noT*_*est 3 java arrays parsing

我有以下几行Java代码:

Object[] results = api.getProjects();
   for(int i=0; i<results.length; i++){
       System.out.println(results[i].toString());
   }
Run Code Online (Sandbox Code Playgroud)

这是输出:

TestProject [id=1, name=Test Plan, prefix=MA, notes=, enableRequirements=true, enableTestPriority=true, enableAutomation=true, enableInventory=true, isActive=true, isPublic=true]
Run Code Online (Sandbox Code Playgroud)

我担心的是我如何只得到想要的元素?(即:"name"和"id")

Pri*_*shi 8

你应该对每个对象进行类型转换并打印所需的内容.

假设数组结果的每个元素都可以被类型化为TestProject类.你可以关注这个apporach:

Object[] results = api.getProjects();
for(TestProject tp : results){    
   System.out.println(tp.getName + " " + tp.getId());
 }
Run Code Online (Sandbox Code Playgroud)

要么

 Object[] results = api.getProjects();
    for(Object tp : results){    
       String name = ((TestProject)tp).getName() ;
       String id = ((TestProject)tp).getId() ;
       System.out.println(name);
       System.out.println(id);
     }
Run Code Online (Sandbox Code Playgroud)

如果你将toString()重写为,你现有的实现也会有效

@Override
public String toString(){
   return "TestProject [id=" + id + ", name=" + name +"]"; 
}
Run Code Online (Sandbox Code Playgroud)