Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 返回ArrayList和中的打印对象_Java_Loops_Arraylist - Fatal编程技术网

Java 返回ArrayList和中的打印对象

Java 返回ArrayList和中的打印对象,java,loops,arraylist,Java,Loops,Arraylist,我对ArrayList的实现有一个问题——我试图打印我的对象,但现在它只打印内存地址。我想一个循环是我的救世主,但不能因为爱。。。找出如何循环我的课程对象以实现这一点。我错过了什么?这不可能是不可能的,也不可能是别的什么,只是我太笨了才弄明白(我的额头上现在有一个键盘的永久印记) 公共课{ 私有字符串; 私有字符串courseName; 私人int ap; 私有静态ArrayList进程=新建ArrayList(); 公共静态void main(字符串[]args){ 课程编程GRUND=新课程

我对ArrayList的实现有一个问题——我试图打印我的对象,但现在它只打印内存地址。我想一个循环是我的救世主,但不能因为爱。。。找出如何循环我的课程对象以实现这一点。我错过了什么?这不可能是不可能的,也不可能是别的什么,只是我太笨了才弄明白(我的额头上现在有一个键盘的永久印记)

公共课{
私有字符串;
私有字符串courseName;
私人int ap;
私有静态ArrayList进程=新建ArrayList();
公共静态void main(字符串[]args){
课程编程GRUND=新课程(“725G61”,“编程Grundkurs”,6);
课程itProjekt=新课程(“725G62”,“IT项目-介绍”,12);
课程diskretMatematik=新课程(“764G06”,“diskretMatematik och Logik”,6);
课程信息技术=新课程(“725G37”,“信息技术技术,技术知识”,6);
System.out.println(getCourses());
}公共课程(字符串aCourseID、字符串aCourseName、int-anAp){
this.courseID=aCourseID;
this.courseName=aCourseName;
这个。ap=anAp;
课程。添加(本);
}公共静态列表getCourses(){
返回课程;
}

您需要覆盖
课程中的
toString()
方法。打印的“内存地址”是的一部分,您尚未覆盖
toString()
您有两个选项:

遍历
getCourses()
返回的
列表
,并打印出每个courses
对象的值

  ArrayList<Course> mycourses = getCourses();
      for(Course obj: mycourses)
      {
      System.out.println("Id is "+obj.courseId);// So on you print everything    
      }
ArrayList mycourses=getCourses();
对于(课程目标:mycourses)
{
System.out.println(“Id是”+obj.courseId);//所以您可以打印所有内容
}

你可以覆盖你的
课程中的
toString()
方法,就像邹祖提到的那样。因为你没有过度使用
toString()
方法现在它正在打印
列表的内存地址

覆盖
课程
中的
toString
方法。你能解释一下你的答案吗?@标记此答案更像是对上述答案的补充。
public class Course 
{
    ...

    @Override
    public String toString()
    {
        return "ID=" + courseID + ", Name=" + courseName;
    }

    ...
}
  ArrayList<Course> mycourses = getCourses();
      for(Course obj: mycourses)
      {
      System.out.println("Id is "+obj.courseId);// So on you print everything    
      }