Sau đây là đoạn trích về cách tạo một lớp chung Java để nối thêm một mục vào một mảng. Làm thế nào tôi có thể làm appendToArray một phương thức tĩnh. Thêm tĩnh vào chữ ký phương thức sẽ dẫn đến lỗi biên dịch.Làm thế nào để làm cho một phương pháp chung Java tĩnh?
public class ArrayUtils<E> {
public E[] appendToArray(E[] array, E item) {
E[] result = (E[])new Object[array.length+1];
result[array.length] = item;
return result;
}
}
Bạn nhận được lỗi biên dịch nào? Ngoài ra, tại sao không chỉ sử dụng một trong các thùng chứa thư viện chuẩn? –
Biên dịch lỗi: Tôi đã thực sự thêm sửa đổi tĩnh không chính xác .. Sử dụng Bộ sưu tập: Có sử dụng một bộ sưu tập sẽ là lý tưởng nhưng câu hỏi không phải là về bộ sưu tập vs mảng, trường hợp sử dụng của tôi yêu cầu một mảng. –
Lưu ý rằng bạn sẽ cần phải sử dụng (EVIL) phản ánh để ngăn chặn mã máy khách ném một ngoại lệ trong một số nhưng không phải tất cả các trường hợp (tốt đẹp). Tốt nhất là tránh các mảng tham chiếu. –