Tôi có một chuỗi có chứa tên biến. Tôi muốn lấy giá trị của biến đó.Truy cập giá trị của một biến theo tên của nó dưới dạng chuỗi trong Java
int temp = 10;
String temp_name = "temp";
Có thể truy cập giá trị 10
bằng cách sử dụng temp_name
?
Tôi có một chuỗi có chứa tên biến. Tôi muốn lấy giá trị của biến đó.Truy cập giá trị của một biến theo tên của nó dưới dạng chuỗi trong Java
int temp = 10;
String temp_name = "temp";
Có thể truy cập giá trị 10
bằng cách sử dụng temp_name
?
tôi đề nghị bạn nên sử dụng một Map<String, Integer>
thay vì:
Tạo bản đồ bằng cách làm
Map<String, Integer> values = new HashMap<String, Integer>();
Sau đó thay đổi
int temp = 10;
để
values.put("temp", 10);
và truy cập vào v alue sử dụng
int tempVal = values.get(temp_name);
+1 Đây là giải pháp tốt hơn cho vấn đề và không có lý do gì khiến bạn không thể thực hiện phương pháp này. –
@ErickRobertson Tôi đồng ý. Phản ánh là một giải pháp cho nhu cầu 'không bình thường', trong khi một newbie thường cần một mảng bản đồ hoặc liên kết. –
Biến biến thành viên và sử dụng phản chiếu.
Bạn không thể nhận giá trị theo tên biến trừ khi đó là biến thành viên của một lớp. Sau đó, bạn có thể sử dụng gói java.lang.reflect
để truy xuất giá trị.
Tại sao? Lý do gì? Mục đích của bạn là gì? – EJP