Đây là lớp học của tôi:Làm cách nào để sử dụng phản chiếu để gọi phương thức có tham số?
public class A{
private void doIt(int[] X, int[] Y){
//change the values in X and Y
}
}
Tôi có một lớp học mà đang cố gắng sử dụng doIt
để sửa đổi hai mảng. Tôi có một lỗi trong mã của tôi nhưng không thể tìm thấy nó.
public class B{
public void myStuff(){
A myA = new A();
int[] X = {1,2,3,4,5};
int[] Y = {4,5,6,7,8,9};
Method doIt = A.class.getDeclaredMethod("doIt",new Object[]{X,Y}); // error
doIt.setAccessible(true);
doIt.invoke(myA,new Object[]{X,Y});
}
}
Bất kỳ trợ giúp nào về cách sửa phương pháp myStuff
?
Nếu tôi sử dụng getDeclaredMethod("doIt",new Object[]{X,Y});
mã không biên dịch.
Nếu thay vào đó tôi có getDeclaredMethod("doIt",null);
thì nó nói NoSuchMethodException
.
Cảm ơn bạn VERY MUCH! +1 – kasavbere