Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何显示对象内部的信息_Java_Object - Fatal编程技术网

Java 如何显示对象内部的信息

Java 如何显示对象内部的信息,java,object,Java,Object,我们被分配来实现代码块的内部,其中它与声明为arraylist的给定类(EmployeeProjectDetail)关联 我的代码如下 public List<EmployeeProjectDetail> getEmployeeProjectHistory(long employeeID, long projectID) { List<EmployeeProjectDetail> detailList = new ArrayList<EmployeeProject

我们被分配来实现代码块的内部,其中它与声明为arraylist的给定类(EmployeeProjectDetail)关联

我的代码如下

public List<EmployeeProjectDetail> getEmployeeProjectHistory(long employeeID, long projectID) {

List<EmployeeProjectDetail> detailList = new ArrayList<EmployeeProjectDetail>();
return detailList;
}
然后,代码不会返回任何值,但projectDAO类中的invovled sql查询会得到彻底处理。任何帮助都将不胜感激。

检查列表中是否有您要查找的项目

你应该加一行

detailList.add(projectDAO.getEmployeeProjects(employeeID));

更新(我在猜测方法和类名)

基于ClassCastException,似乎
getEmployeeProjects(employeeID)
返回一个
ArrayList
。如果此
ArrayList
中的对象是
EmployeeProjectDetail
,则只需将方法体替换为
返回项目dao.getEmployeeProjects(employeeID)。如果它们是表示项目的不同对象,例如
EmployeeProject
,则需要用以下代码替换方法体:

List<Project> projects = projectDAO.getEmployeeProjects(employeeID);
ArrayList<EmployeeProjectDetail> projectDetails = new ArrayList<EmployeeProjectDetail>();
for (Project project : projects) {
    if(project.getProjectID == projectID){
        projectDetails.add(project.getProjectDetail());
    }
}
List projects=projectDAO.getEmployeeProjects(employeeID);
ArrayList projectDetails=新建ArrayList();
用于(项目:项目){
if(project.getProjectID==projectID){
添加(project.getProjectDetail());
}
}

我看不到有任何
EmployeeProjectDetail
对象添加到
detailList
。因此,返回的
detailList
不包含任何内容是正常的。我已经尝试过了,但程序不允许强制转换。java.lang.ClassCastException:java.util.ArrayList不能强制转换为sef.domain.EmployeeProjectDetailGetEmployeeProjects(employeeID)返回什么类型的对象?getEmployeeProjects还返回与类关联的列表。列表我已经更新了我的答案。您应该获取属于某个员工的所有项目,然后使用适当的projectID返回属于该项目的所有ProjectDetails。
List<Project> projects = projectDAO.getEmployeeProjects(employeeID);
ArrayList<EmployeeProjectDetail> projectDetails = new ArrayList<EmployeeProjectDetail>();
for (Project project : projects) {
    if(project.getProjectID == projectID){
        projectDetails.add(project.getProjectDetail());
    }
}