我有两个类A和B,还有一个生成电子邮件的脚本。
在python中,代码看起来像
def generateEmail(message):
#implementation
def getMessage(item_list):
message = []
for item in item_list:
#do some processing
return message
def main():
#other code
generateEmail(getMessage(item_list_A))
generateEmail(getMessage(item_list_B))
这对Java不起作用,因为它是强类型的。我如何在java中实现这一点?
编辑:以下是A(学生(和B(教师(课程:
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class Student{
int studentId;
String studentName;
LocalDate dateOfAddmission;
float percentage;
int currentStd;
String father;
String mother;
LocalDate dob;
String address;
Boolean disability;
}
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class Teacher{
int teacherId;
String teacherName;
LocalDate dateOfJoining;
LocalDate dateOfRetirement;
Boolean classTeacher;
int currentStd = null;
LocalDate dob;
String address;
Boolean disability;
}
以下是A.的处理和生成电子邮件类
public class generateEmail{
public Boolean generateEmail(ArrayList<Student> listOfStudent){
//code to fetch the list of relevant students ids
ArrayList<int> relevantStudents = getRelevantStudents();
ArrayList<String> messageList = new ArrayList<>();
listOfStudent.forEach(student->{
if(relevantStudents.contains(student.getStudentId()){
//create a message string from the student information and add to the message list
}
}
//create an excel sheet with the message strings
//send email
}
}
我需要为教师创建一个类似的报告生成方法,但属性不同,所以我需要帮助。
public interface Dummy{
}
public class A implements Dummy{
int studentId;
String studentName;
LocalDate dateOfAddmission;
float percentage;
int currentStd;
String father;
String mother;
LocalDate dob;
String address;
Boolean disability;
}
public class B implements Dummy{
int teacherId;
String teacherName;
LocalDate dateOfJoining;
LocalDate dateOfRetirement;
Boolean classTeacher;
int currentStd = null;
LocalDate dob;
String address;
Boolean disability;
}
public class MainClass{
public static void main(String...array){
//other code
generateEmail(getMessage(itemListA));
generateEmail(getMessage(itemListB));
}
private List<String> getMessage(List<Dummy> itemList){
List<String> message = new ArrayList<>();
for(Dummy item : itemList){
//if required typecast the dummy object and do the processing
//accordingly
//do some processing
}
return message
}
private void generateEmail(List<String> messages){
//Do your processing
}
}