我正在尝试使用我的getter方法从preRequisite获取数据。当我这样做时,它会调用toString方法并打印其他所有内容。我试图仅从preRequisite获取数据,而无需调用toString,以便可以将数据与用户的输入进行比较。谢谢您的帮助。
public class Course{
private int units;
private int number;
private String name;
private Course preRequisite;
private int section;
private Person instructor;
public Course preReq(){
return this.preRequisite;
}
答案 0 :(得分:1)
在您的代码中,preRequisite
的类型为Course
,但是您将其视为String
中的result.preReq().equals("no_preReq")
。
针对您的评论:
有没有办法只在preReq对象中获取文本?
如果您要从preReq对象中寻找特定值,例如name
,则可以为Course
类提供一个吸气剂,因为name
已经是{ {1}}-
String
然后您可以进行类似的比较:
public String getCourseName() {
return this.name;
}
当然,这假定当课程具有 no 先决条件时,您已为其分配了if (result.preReq().getCourseName().equals("no_preReq")) { ... }
对象,其中Course
>
一种完全避免这种比较的方法是将name = "no_preReq";
保留为preRequisite
,而没有任何先决条件。在这种情况下,您可以执行空检查。
如果您正在寻找null
提供的信息,那么您将需要覆盖Course
类的.toString()
方法,以仅返回{{ 1}},例如toString()
。