Tôi có một đoạn mã mà tôi cần phải vượt qua lớp của một trường trong một phương thức. Bởi vì các cơ chế của mã của tôi, tôi chỉ có thể xử lý các đối tượng tham chiếu và không phải nguyên thủy. Tôi muốn một cách dễ dàng để xác định nếu một loại của Field
là nguyên thủy và trao đổi nó với lớp wrapper thích hợp. Vì vậy, trong mã những gì tôi làm cho đến nay là một cái gì đó như thế này:Cách đơn giản để có được loại lớp bao bọc trong Java
Field f = getTheField(); // Dummy method that returns my Field
Class<?> c = f.getType();
if (c == int.class) {
c = Integer.class;
}
else if (c == float.class) {
c = Float.class;
}
// etc
myMethod(c);
này hoạt động tốt, ngoại trừ một thực tế rằng tôi cần phải kiểm tra một cách rõ ràng cho tất cả các loại nguyên thủy và trao đổi chúng với lớp wrapper thích hợp. Bây giờ tôi biết rằng không có nhiều loại nguyên thủy và nó sẽ không là vấn đề đơn giản để liệt kê tất cả chúng, nhưng tôi đã tự hỏi liệu có cách nào dễ dàng hơn và thanh lịch hơn để thực hiện nó hay không.
Vì vậy, về cơ bản cùng một điều ... :) Cảm ơn câu trả lời. Về cơ bản không có cách nào khác vào lúc này. –