Với Java, có cách nào để tạo một lớp tùy chỉnh có thể có trình truy cập [] được sử dụng trên nó như một mảng không?Có cách nào để tạo một lớp tùy chỉnh có thể có [] được sử dụng trong Java, tương tự như một mảng không?
mảng bình thường
int[] foo = int[5];
foo[4] = 5;
print(foo[4]);
//Output: "5"
Custom Class
class Bar {
//Custom class that uses index as a ref
}
Bar foo = new Bar(5);
foo.set(4, 5);
print(foo[4]);
//Output: "5"
Tôi ước ... Nếu có thể ghi đè '[]', chúng ta sẽ không bị mắc kẹt với 'list.get (5)' và 'str.charAt (6)'? ... – dasblinkenlight
Không , Tôi tiếp tục nghe những tin đồn rằng quá tải nhà điều hành sẽ có trong bản phát hành sau của Java, tuy nhiên tôi thành thật không nghĩ rằng nó sẽ được. –
Như một lưu ý phụ, nhìn vào groovy :) –