Tôi có một mã như thế nàyPointer đến một Integer trong Java
int a,b;
switch(whatever){
case 1:
lots_of_lines_dealing_with_variable_a;
case 2:
same_lines_but_dealing_with_variable_b;
}
Tôi nghĩ làm:
int a,b;
pointer_to_int p;
switch(whatever){
case 1:
p=a;
case 2:
p=b;
}
lots_of_lines_dealing_with_pointer_p;
Nó sẽ làm giảm các mã xuống còn khoảng một nửa dòng, nhưng Java không cho phép con trỏ đến số nguyên. Vì vậy, có cách nào để tiếp cận điều này?
Chỉnh sửa: Bài tập về nhà lớn hơn nhiều so với phương pháp này. Tôi cần tạo một lớp có tên là "Danh sách đôi" chứa hai danh sách được liên kết trong một Vector đơn lẻ. Các số nguyên tôi nói đến là các con trỏ để bắt đầu Danh sách, mà tôi cần chuyển sang các vị trí khác của Danh sách khi thêm hoặc xóa các phần tử vào Danh sách
Tại sao bạn sẽ sử dụng hộp của riêng bạn thay vì sử dụng lớp 'Integer'? – ubadub
@ubadub Integer (và các lớp hộp nguyên thủy tích hợp khác) không thay đổi. Đó là tốt khi bạn chỉ muốn có thể sử dụng nó trong generics, nhưng không phải nếu bạn muốn để có thể biến đổi giá trị từ nhiều nơi. Điều đó nói rằng, cũng có lớp 'AtomicInteger', có thể được chia sẻ an toàn giữa các luồng (nhưng chậm hơn vì nó phải đảm bảo hành vi đa luồng chính xác). –