Tôi nhận được một java.lang.NoSuchFieldException
khi cố gắng chạy phương pháp sau:
public void getTimes(String specialty, String day) {
ArrayList<Tutor> withSpec = new ArrayList<Tutor>();
for (Tutor t : tutorList){
try {
Time startTime = (Time)t.getClass().getField(day + "Start").get(t);
} catch (NoSuchFieldException | SecurityException | IllegalAccessException ex) Logger.getLogger(DBHandler.class.getName()).log(Level.SEVERE, null, ex); }
Lỗi là trên đường dây Time startTime = (Time)t.getClass().getField(day + "Start").get(t);
Tôi không hiểu lỗi này, vì monStart là một trường của Tutor
lớp:
Public class Tutor implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@NotNull
@Column(name = "tutorID")
private Integer tutorID;
....
@Column(name = "monStart")
@Temporal(TemporalType.TIME)
Date monStart;
Tôi chỉ đang học cách sử dụng phản xạ, vì vậy tôi chắc chắn rằng đây là một số loại lỗi cú pháp ...