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