2009-07-09 41 views
5

Tôi đang cố gắng sử dụng sự phản chiếu để gọi một phương thức nhận trong một mảng byte.Java: cách thích hợp để có được lớp của một mảng nguyên thủy để phản chiếu

tôi bắt đầu đi làm:

Class myClass = anObject.getClass(); 
Class[] parameterTypes = 
{byte[].getClass();}; 

Nhưng điều đó không làm việc (lớp dự kiến, dự kiến}) trên [] dòng byte. Có ai biết tôi nên làm gì không? Cast vào một đối tượng và tuyên bố rằng phương pháp có một đối tượng?

Trả lời

11

Hãy thử điều này:

Class[] parameterTypes = new Class[] {byte[].class}; 
+0

tuyệt vời, cảm ơn, mà làm việc. Tôi không hiểu tại sao Số nguyên [] x = {5}; và số nguyên [] y = {số nguyên mới (5)}; công việc. – jbu

+0

Vâng, 'Class [] parameterTypes = {byte []. Class}' cũng hoạt động như các ví dụ của bạn. Vấn đề với mã ban đầu của bạn đang cố gắng gọi phương thức getClass() _instance_ trên khai báo byte []. – ChssPly76

+0

(Và đó có thể là 'Class []'. –

Các vấn đề liên quan