Tôi đang làm việc trên một phân tích cho các chương trình Java yêu cầu thông tin có hiệu lực phụ về các cuộc gọi phương thức. Đối với các lớp thư viện chuẩn, tôi muốn biên dịch một danh sách các phương thức với các tham số chỉ đọc. Đó là, các phương pháp không sửa đổi các đối số của chúng, hoặc bất cứ điều gì có thể truy cập từ các đối số của chúng. Tôi có thể phỏng đoán rất nhiều từ javadocs, nhưng điều đó sẽ mất thời gian.Các phương pháp miễn phí có hiệu lực phụ trong Thư viện chuẩn Java
Ai đó có thể đề xuất một tham chiếu hoặc phương pháp dễ dàng hơn để xác định xem các cuộc gọi phương thức chuẩn có thay đổi đối số của chúng không? Đang đọc qua mỗi mục nhập javadoc thực sự là cách tốt nhất?
Cảm ơn!
EDIT: Tiền thưởng sẽ là xác định các phương thức không có tác dụng phụ đối với đối tượng. Ví dụ, stack.pop() trong khi stack.size() thì không.
Tôi muốn được xem giải pháp của bạn. Bạn có thể giả định bất kỳ phương pháp nào có các loại bất biến là tác dụng phụ miễn phí. Bạn không chắc chắn những gì khác bạn có thể đi ra ngoài bên cạnh javadocs và mã. –
@ SB: Chỉ cần nhớ rằng 'Chuỗi' là không thay đổi, nhưng các lớp thực thi' CharSequence' có thể có hoặc không. – Powerlord